URL重写错误,可能覆盖?

时间:2015-11-15 15:43:42

标签: .htaccess url mod-rewrite

我对.htaccess及其应用程序相当新,这是一个非常直截了当的问题。我的.htaccess中有以下重写规则。第一个RewriteRule替换了我文件中的所有.php,第二个RewriteRule将链接中的问号覆盖为斜杠,但我不知道为什么第二个规则不起作用。在我的另一个PHP文件中,该文件包含指向" profile"的链接。链接,它的链接是?,链接可以正常使用Options +FollowSymLinks -MultiViews RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^([^\.]+)$ $1.php [NC,L] RewriteRule ^profile/([0-9]+)$ profile?$1 [L] ,但是即使我应用了我的第二条规则,当我点击它时也没有任何反应。是否有可能第一条规则以某种方式阻止第二条规则的发生?或者是因为我的href链接出了问题?以下是我的.htaccess。

span

提前感谢您的任何反馈。 射线

1 个答案:

答案 0 :(得分:0)

您的第一个重写模式接受URI中除点之外的任何字符,因此它也匹配" / profile / 123",

更改正则表达式模式:

Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/.]+)/?$ $1.php [NC,L]
RewriteRule ^profile/([0-9]+)/?$ profile?$1 [L]