.htaccess 500内部服务器错误 - FilesMatch无法正常工作

时间:2015-11-09 14:26:21

标签: php apache .htaccess

我已经下载了一个网站项目,目的是在本地复制网站,并在本地使用它,直到我完成项目,然后将其发送回托管服务。

我下载了网站文件夹并将其添加到Wamp中的www文件夹中。 Wamp工作正常,(测试索引样本)。我导出了数据库并将它们导入到本地的phpMyAdmin。然后我创建了用户/密码来访问网站上的数据库。我为该用户分配了所有权限。

我的网站结构是www / html / system。我有一个带有重定向到系统文件夹的.htaccess。重定向工作正常。在系统文件夹中,我有另一个.htaccess文件,如下所示。

在我网站的.htaccess文件中,我有:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html

#AddType x-mapp-php5 .php
#AddHandler x-mapp-php5 .php  

#AddHandler application/x-httpd-php52 .php .php5 .php4 .php3
#<IfModule mod_suphp.c>
#  AddHandler application/x-httpd-php-5 .php
#</IfModule>

#Error Document
ErrorDocument 400 http://www.example.com/error400.html
ErrorDocument 403 http://www.example.com/error403.html
ErrorDocument 404 http://www.example.com/error404.html
ErrorDocument 500 http://www.example.com/error500.html

#FileETag none

#expires after one month

<FilesMatch "^(_images/new_logo.png|_images/default-player.png|_images/default-team.png|storage/events/1/event01.jpg|_images/help.png|_images/bigpicture_regular.png|_images/facebook.png|_images/twitter.png|_images/default_member_pic.gif|_images/feedback.png|storage/events/2/event01.jpg|_images/dot.png|_buttons/home.png|_buttons/media_forward.png|_buttons/print.png|_jquery/jquery-ui.js|_jquery/jScrollbar.jquery.css|_jquery/jquery.js|_jquery/jScrollbar.jquery.js|_jquery/jquery-mousewheel.js|_fancybox/jquery-1.4.3.min.js|_fancybox/ajax.txt|_fancybox/fancybox/jquery.mousewheel-3.0.4.pack.js|_fancybox/fancybox/jquery.fancybox-1.3.4.pack.js|_fancybox/fancybox/jquery.fancybox-1.3.4.js|_fancybox/fancybox/jquery.fancybox-1.3.4.css|_fancybox/fancybox/jquery.easing-1.3.pack.js|_fancybox/fancybox/fancybox.png|_fancybox/fancybox/fancybox-y.png|_fancybox/fancybox/fancybox-x.png|_fancybox/fancybox/fancy_title_right.png|_fancybox/fancybox/fancy_title_over.png|_fancybox/fancybox/fancy_title_main.png|_fancybox/fancybox/fancy_title_left.png|_fancybox/fancybox/fancy_shadow_w.png|_fancybox/fancybox/fancy_shadow_sw.png|_fancybox/fancybox/fancy_shadow_se.png|_fancybox/fancybox/fancy_shadow_s.png|_fancybox/fancybox/fancy_shadow_nw.png|_fancybox/fancybox/fancy_shadow_ne.png|_fancybox/fancybox/fancy_shadow_n.png|_fancybox/fancybox/fancy_shadow_e.png|_fancybox/fancybox/fancy_nav_right.png|_fancybox/fancybox/fancy_nav_left.png|_fancybox/fancybox/fancy_loading.png|_fancybox/fancybox/fancy_close.png|_fancybox/fancybox/blank.gif|_images/topMenuImages.png|_images/bg_slider4.png|_images/bg_jScrollbar_draggable.jpg|_images/bg_draggable5.png|_images/bg_draggable4.png|_images/header_logo.png|_images/home_logo.png|storage/events/2/event01.jpg)$">
  ExpiresActive on 
  ExpiresDefault "access plus 1 month"
</FilesMatch>

# Good for one week

ExpiresByType application/x-javascript M604800
ExpiresByType text/css M604800
ExpiresByType text/html M604800

Web浏览器中的输出是:内部服务器错误500 The server encountered an internal error or misconfiguration and was unable to complete your request....。我评论了编辑文件扩展名的块(.php和.html)。我还拿出了整个FileMatch部分,但它仍然出现内部服务器错误。

感谢您对此问题的任何评论或反馈。非常感谢你的时间,我很感激。

此致

NMV

1 个答案:

答案 0 :(得分:1)

  

无效的命令&#39; ExpiresActive&#39;,可能由服务器配置中未包含的模块拼写错误或定义。对于Expirestype来说,它看起来也是一样的。

此错误是由mod_expires模块未加载引起的。

请参阅:https://stackoverflow.com/a/11618055/851273

因此,您可以使用支票包装违规行,加载mod_expires模块,确保它在httpd.conf文件中取消注释(或使用a2enmod),或删除这些行。

你可以将它包裹起来,只是让错误消失:

<IfModule mod_expires.c>
      #expires after one month

    <FilesMatch "^(_images/new_logo.png|_images/default-player.png|_images/default-team.png|storage/events/1/event01.jpg|_images/help.png|_images/bigpicture_regular.png|_images/facebook.png|_images/twitter.png|_images/default_member_pic.gif|_images/feedback.png|storage/events/2/event01.jpg|_images/dot.png|_buttons/home.png|_buttons/media_forward.png|_buttons/print.png|_jquery/jquery-ui.js|_jquery/jScrollbar.jquery.css|_jquery/jquery.js|_jquery/jScrollbar.jquery.js|_jquery/jquery-mousewheel.js|_fancybox/jquery-1.4.3.min.js|_fancybox/ajax.txt|_fancybox/fancybox/jquery.mousewheel-3.0.4.pack.js|_fancybox/fancybox/jquery.fancybox-1.3.4.pack.js|_fancybox/fancybox/jquery.fancybox-1.3.4.js|_fancybox/fancybox/jquery.fancybox-1.3.4.css|_fancybox/fancybox/jquery.easing-1.3.pack.js|_fancybox/fancybox/fancybox.png|_fancybox/fancybox/fancybox-y.png|_fancybox/fancybox/fancybox-x.png|_fancybox/fancybox/fancy_title_right.png|_fancybox/fancybox/fancy_title_over.png|_fancybox/fancybox/fancy_title_main.png|_fancybox/fancybox/fancy_title_left.png|_fancybox/fancybox/fancy_shadow_w.png|_fancybox/fancybox/fancy_shadow_sw.png|_fancybox/fancybox/fancy_shadow_se.png|_fancybox/fancybox/fancy_shadow_s.png|_fancybox/fancybox/fancy_shadow_nw.png|_fancybox/fancybox/fancy_shadow_ne.png|_fancybox/fancybox/fancy_shadow_n.png|_fancybox/fancybox/fancy_shadow_e.png|_fancybox/fancybox/fancy_nav_right.png|_fancybox/fancybox/fancy_nav_left.png|_fancybox/fancybox/fancy_loading.png|_fancybox/fancybox/fancy_close.png|_fancybox/fancybox/blank.gif|_images/topMenuImages.png|_images/bg_slider4.png|_images/bg_jScrollbar_draggable.jpg|_images/bg_draggable5.png|_images/bg_draggable4.png|_images/header_logo.png|_images/home_logo.png|storage/events/2/event01.jpg)$">
      ExpiresActive on 
      ExpiresDefault "access plus 1 month"
    </FilesMatch>

    # Good for one week

    ExpiresByType application/x-javascript M604800
    ExpiresByType text/css M604800
    ExpiresByType text/html M604800  
</IfModule>