我对.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
提前感谢您的任何反馈。 射线
答案 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]