.htaccess被apache2中的文件结构所压倒

时间:2011-12-16 02:13:29

标签: apache .htaccess mod-rewrite apache2

我有一个.htaccess文件,并使用mod重写将/tags重定向到/tags/。当目录包含名为tags.php的文件时,它不起作用,但是当我删除该文件时它会起作用。我需要更改什么设置才能使.htaccess文件压倒文件结构?我正在使用PHP在Ubuntu 11.10上运行Apache2。

RewriteEngine On
RewriteBase /
    RewriteRule ^tags/([a-zA-Z0-9-_.\ ]+)$ tags/$1/ [R]
    RewriteRule ^tags/([a-zA-Z0-9-_.\ ]+)/([0-9]*)?$ tag.php?tag=$1&page=$2
    RewriteRule ^tags$ tags/ [R]
    RewriteRule ^tags/$ tags.php

3 个答案:

答案 0 :(得分:0)

尝试在您的代码规则中添加L以停止进一步处理,即

RewriteRule ^tags$ tags/ [R,L]

答案 1 :(得分:0)

您的规则顺序错误,您忘记了[L]停止处理重写规则。尝试:

RewriteEngine On
RewriteBase /
RewriteRule ^tags$ tags/ [R, L]
RewriteRule ^tags/$ tags.php [QSA]
RewriteRule ^tags/([a-zA-Z0-9-_.\ ]+)$ tags/$1/ [R,L]
RewriteRule ^tags/([a-zA-Z0-9-_.\ ]+)/([0-9]*)?$ tag.php?tag=$1&page=$2 [L]

答案 2 :(得分:0)

在服务器配置中禁用Multiviews