Php htaccess在从XAMPP移动后出现内部服务器错误
不久前,我从xampp搬到了wampPhp htaccess在从XAMPP移动后出现内部服务器错误,php,.htaccess,wamp,wampserver,Php,.htaccess,Wamp,Wampserver,不久前,我从xampp搬到了wamp 现在,当我进入我的网站时,出现了以下错误: 内部服务器错误服务器遇到内部错误或配置错误,无法完成您的请求。 请与服务器管理员联系,admin@localhost并告知他们错误发生的时间,以及您可能采取的任何可能导致错误的措施。 有关此错误的详细信息,请参阅服务器错误日志 当我在.htaccess中使用此代码时: <FilesMatch "\.(pdf|swf|js|css)$"> Header set Cache-Control "max
现在,当我进入我的网站时,出现了以下错误: 内部服务器错误服务器遇到内部错误或配置错误,无法完成您的请求。 请与服务器管理员联系,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>
标题集缓存控制“最大年龄=604800”
标题集过期“星期四,2003年12月1日16:00:00 GMT”
标头设置缓存控制“无存储,无缓存,必须重新验证”
标题集Pragma“无缓存”
AddOutputFilterByType泄气文本/普通
AddOutputFilterByType DEFLATE text/html
SetOutputFilter放气
SetOutputFilter放气
我如何解决这个问题
我找到了apache_error.log: [Sat Jan 07 13:58:06 2012][alert][client 127.0.0.1]C:/wamp/www/website/.htaccess:无效命令“Header”,可能拼写错误或由服务器配置中未包含的模块定义,请参考:localhost
在wamp服务器中,单击apache、apache模块,然后单击重写模块上的(标记)并重新启动wamp服务器您的问题已经解决了,正如XP1所说,答案是在wamp中启用headers\u模块 使用WAMP接口或将其添加到httpd.conf中
LoadModule headers_module modules/mod_headers.so
我认为要执行.htaccess文件中的命令,应该启用apache的重写模块,但默认情况下它是禁用的 如果您正在使用WAMP,那么只需单击任务栏->Apache->Apache模块中的WAMP服务器图标。这将显示模块列表。然后向下滚动找到“重写”模块并单击它。当您单击它时,WAMP将在启用重写模块的情况下重新启动
因此,我认为如果您激活此模块,它可能会解决您的问题。在WAMP中进行大量搜索后,headers模块没有启用mod_headers模块。您可以在httpd.conf文件中启用mod_头。在开始时,会显示一个模块列表,只需找到mod#u头并删除其开始处的#,然后重新启动WAMP。现在,mod_headers模块将被启用并加载。转到WampManager左键单击,Apache然后ApacheComules并检查(重写_模块),重新启动Apache,然后一切正常。如果启用mod_headers没有解决问题,那么这是由AddOutputFilterByType引起的 这可以通过启用另一个模块,mod_filter来解决 如果您的服务器设置被重置或您将项目迁移到其他服务器,那么添加“ifModule”代码可能也是一个好主意。这对我很有用:
<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>
AddOutputFilterByType泄气文本/普通
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE应用程序/xml
AddOutputFilterByType DEFLATE应用程序/xhtml+xml
AddOutputFilterByType DEFLATE应用程序/rss+xml
AddOutputFilterByType DEFLATE应用程序/javascript
AddOutputFilterByType DEFLATE应用程序/x-javascript
添加此项,代码应该可以正常工作
<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>
标题集缓存控制“最大年龄=2628000,公共”
有时位置和url之间的空格是解决方案
例如:
header('Location:usertimeline.php');
与之相反,没有错误
header('Location: usertimeline.php');
我是WAMP的初学者,因为我的页眉模块和所有内容都被勾选了,但就这么做了。它需要mod_headers.c。试着这样做:
Header set[your\u options]
我应该在“your\u options”中写些什么?他在你之前发布的选项中有哪些?你能给我举个“option”的例子吗?我真的不知道我应该如何写这段代码。在.htaccess文件上我应该在哪里写这段代码?启用了重写模块、标题模块和过滤模块使其工作。我认为应该是mod_headers.c
而不是mod_expires.c
,因为您使用的是“缓存控制:最大年龄”缓存,而不是“过期”缓存。