带有wamp的localhost上的.htaccess上的RewriteEngine出现500内部错误

时间:2013-11-01 00:24:01

标签: .htaccess

我遇到了脚本问题。它不适用于需要工作的htaccess文件。这是htaccess包含的内容。我正在尝试将其安装在wamp localhost上。代码是:

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

RewriteEngine ON
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]
#RewriteRule ^(.*)$ /index.php?q=$1 [L,QSA]

Options All -Indexes

如果我删除它,它可以工作:

RewriteEngine ON
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]
#RewriteRule ^(.*)$ /index.php?q=$1 [L,QSA]

但是这样脚本加载但每个页面显示错误404.有没有办法解决这个问题??

4 个答案:

答案 0 :(得分:16)

看起来你没有加载重写模块。找到你的httpd.conf文件并确保取消注释这一行(或类似的东西):

LoadModule rewrite_module modules/mod_rewrite.so

答案 1 :(得分:2)

检查是否已加载apache重写模块。

转到wamp_manager - > apache - >模块并在列表中查找rewrite_module。

如果它旁边没有TICK,请单击它。 Apache将被退回(停止,开始)。再试一次。

如果没有加载所需的模块,重写引擎将无法工作。

答案 2 :(得分:1)

我遇到了同样的问题。要取消注释该行,请删除该行前面的# LoadModule rewrite_module modules / mod_rewrite.so

在Wamp为我工作。

httpd.conf文件的目录:C:\ wamp \ bin \ apache \ apache2.4.9 \ conf

答案 3 :(得分:0)

这是一个为我解决问题的解决方案。 Rewrite模块始终启用,在IfModule rewrite_module中使用,授予权限并且.htaccess内容很好,但尝试使用重写模块仍然是500错误。

In httpd.conf by default:

This is a source of a 500 error if you try to use rewrite in .htaccess in some sub directory.

` 
# Deny access to the entirety of your server's filesystem. You must
# explicitly permit access to web content directories in other 
# <Directory> blocks below.
#

    <Directory />
        AllowOverride none
        Require all denied
    </Directory>
`    

因此,人们可能希望在特定目录中使用.htaccess和重写模块。您将为该目录添加<directory>块。如果复制并粘贴目录块,则需要确保要复制的块的意图对于要应用它的目录是正确的。

因此,对于我的意图,此块导致403错误,但确实摆脱了500错误。

<Directory "c:/Apache24/htdocs/store">
    AllowOverride All
    Options None
    Require all granted
</Directory>


Changing to this solved the issue:

<Directory "c:/Apache24/htdocs/store">
    AllowOverride All
    Require all granted
</Directory>

我认为这就是常见问题的原因,但很少在这些主题中得到解决。如果我只是复制了一个不同的块,输入了我自己的块,或者对我正在做的事情有任何了解,那就不会有问题了。

我不能说这解决了每个人的问题,但我讨厌当人们解决并运行而没有启发我们其他人的时候。对于那些犯了我错误的人来说,这就是答案。