Php htaccess在从XAMPP移动后出现内部服务器错误

Php 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

不久前,我从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>  

标题集缓存控制“最大年龄=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
,因为您使用的是“缓存控制:最大年龄”缓存,而不是“过期”缓存。