关于apache2的RewriteRule

时间:2013-12-19 14:05:14

标签: php apache .htaccess mod-rewrite

我对Rewrite规则有疑问。我想重定向domain.xx/exampledomain.xx/index.php?content=example

这实际上可行,但我在同一个文件夹(domain.xx/example.php)中也有一个名为example.php的文件。每当我打开domain.xx/example时,服务器都会打开example.php,而不是将我重定向到index.php?content=example

我删除mod-rewrite文件后,example.php已启用并正常工作。

RewriteEngine On
RewriteBase /
RewriteRule ^example$ index.php?content=example [NC,L]

3 个答案:

答案 0 :(得分:0)

重写规则是正则表达式,因此您只需要删除结束字符以匹配example和example.php

RewriteRule ^example index.php?content=example [NC,L]

答案 1 :(得分:0)

这是因为MultiViews选项。

在.htaccess:

之上添加此行
Options -MultiViews

答案 2 :(得分:-1)

将此添加到您的htaccess文件中:

# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

所以example.php将直接提供,然后添加你的规则。