httpd内的重写规则不起作用

时间:2013-05-27 19:30:10

标签: url-rewriting

我将重写规则放在目录标记中。 在我问这个问题之前,我已经阅读了Apache文档,其中写了:

  

资源的网络路径

     
    

RewriteRule ^ / foo $ / bar

  
     

如果DocumentRoot设置为/ usr / local / apache2 / htdocs,则此指令会将http://example.com/foo的请求映射到路径/ usr / local / apache2 / htdocs / bar。

所以我按照书面写的 在下面的例子中我想:/ aaaaa重定向到/index.php?action=aaaaa

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName test.com
    DocumentRoot /var/www/project/released/test

    <Directory /var/www/project/released/test>
            AllowOverride none
            Options Indexes FollowSymLinks MultiViews
            Order allow,deny
            allow from all

            RewriteEngine on                
            RewriteRule ^/([a-z0-9-_]+)$     /index.php?action=$1 [NC,L]
    </Directory>
</VirtualHost>

在apache日志中写道:

[Mon May 27 23:14:11 2013] [error] File does not exist: /var/www/project/released/test/aaaaa

你可以请求帮助和建议为什么这可能不起作用以及为什么日志显示完全不同的行为(显然这条路径不存在但根本不应该存在,根据文档!)?我安装并启用了mod_rewrite。

0 个答案:

没有答案