不久前,我从xampp搬到了wamp 现在,当我进入我的网站时,出现了这个错误:
内部服务器错误服务器遇到内部错误或配置错误,无法完成您的请求。 请联系服务器管理员admin @ localhost并告知他们错误发生的时间,以及可能导致错误的任何操作。 服务器错误日志中可能提供了有关此错误的更多信息。
当我在.htaccess中使用此代码时:
<FilesMatch "\.(pdf|swf|js|css)$">
Header set Cache-Control "max-age=604800"
</FilesMatch>
<FilesMatch "\.(html|cgi|php|htm)$">
Header set Expires "Thu, 01 Dec 2003 16:00:00 GMT"
Header set Cache-Control "no-store, no-cache, must-revalidate"
Header set Pragma "no-cache"
</FilesMatch>
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
<Files *.js>
SetOutputFilter DEFLATE
</Files>
<Files *.css>
SetOutputFilter DEFLATE
</Files>
如何解决此问题?
我找到了apache_error.log:
[Sat Jan 07 13:58:06 2012] [alert] [client 127.0.0.1] C:/wamp/www/website/.htaccess:无效的命令'Header',可能拼写错误或由未包含的模块定义在服务器配置中,referer:localhost
答案 0 :(得分:26)
在wamp服务器中单击apache,apache模块并单击rewrite_module上的(mark)并重启wamp服务器,问题解决了
答案 1 :(得分:19)
正如XP1所说,答案是在WAMP中启用headers_module。
使用WAMP界面或将其添加到httpd.conf
LoadModule headers_module modules/mod_headers.so
答案 2 :(得分:11)
如果启用 mod_headers 没有修复您的问题,那么它是由 AddOutputFilterByType
引起的可以通过启用另一个模块 mod_filter 来解决此问题。
添加&#39; ifModule&#39;可能也是一个好主意。代码,如果您的服务器设置被重置或您将项目迁移到其他服务器。这对我有用:
<IfModule mod_filter.c>
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
</IfModule>
答案 3 :(得分:1)
在WAMP中进行了大量搜索之后,headers模块没有启用mod_headers模块。您可以在httpd.conf文件中启用mod_headers。在开始时,显示一个模块列表,只需找到mod_header并在其开始时删除#并重新启动WAMP。现在将启用并加载mod_headers模块。
答案 4 :(得分:1)
转到Wampmanger LeftClick,Apache然后ApacheModules并检查(rewrite_module),重启Apache,然后就可以了
答案 5 :(得分:1)
添加此代码并且代码应该可以正常工作
<IfModule mod_expires.c>
<filesMatch ".(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$">
Header set Cache-Control "max-age=2628000, public"
</filesMatch>
</IfModule>
答案 6 :(得分:0)
我认为要在.htaccess文件中执行命令,应启用apache的重写模块,但默认情况下禁用它。
如果您使用WAMP,则只需点击任务栏中的wamp服务器图标 - &gt; Apache - &gt; Apache模块。这将显示模块列表。然后向下滚动以查找rewrite_module并单击它。当你点击它时,WAMP会在启用rewrite_module的情况下重新启动。
所以我认为如果你激活这个模块,它可能会解决你的问题。
答案 7 :(得分:0)
有时位置和网址之间的空格是解决方案 例如:
header('Location:usertimeline.php');
没有错误,而不是
header('Location: usertimeline.php');
我是WAMP的初学者,因为我的标头模块和所有其他内容均已打勾,但仅此而已结束。