【发布时间】:2021-02-09 05:37:44
【问题描述】:
已经尝试解决这个问题几个小时了,但没有做好。
我有一个网站www.example.com/user.php?username=john
我使用.htaccess 让它看起来很像www.example.com/user/john
我使用以下.htaccess Rewrite 规则并且它有效
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*/([a-zA-Z0-9_-]+)|([a-zA-Z0-9_-]+))$ ./user.php?username=$1 [L]
问题
我有一个个人资料页面,例如www.example.com/profile.php?username=john
我还使用以下.htaccess 使其看起来像www.example.com/profile/john
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*/([a-zA-Z0-9_-]+)|([a-zA-Z0-9_-]+))$ ./profile.php?username=$1 [L]
现在,这根本不起作用,但是当我删除第一个重写规则(规则 user.php)并将其放在第二个重写规则(规则 profile.php)之后,我的个人资料页面可以工作,反之亦然,
所以基本上我首先放置的规则决定了我可以使用我的 URL 访问哪个页面。
我需要它同时适用于两个页面。我同意你在.htaccess rewrite 上并不接近初学者水平。
提前致谢。
【问题讨论】:
标签: apache .htaccess mod-rewrite url-rewriting friendly-url