我正在尝试屏蔽我的页面的查询字符串,以隐藏其唯一的页面ID.这很重要,因为每个ID对于用户而言必须是唯一的.
当前,URL结构如下所示:
http://domain.com/page.php?Page_ID=1234
(其中1234是任何数字)
但我需要它看起来像这样:
我尝试将以下内容添加到.htaccess文件中,但似乎没有什么区别:
RewriteEngine on
RewriteBase /
RewriteRule ^page.php?Page_ID=([0-9]+)/$page.php [L,QSA,NC]
我看过其他帖子,例如this one和其他帖子,但似乎找不到解决方案.我这里可能缺少什么吗?
解决方法:
查询字符串不是重写规则中匹配项的一部分,您需要使用rewriteCond与%{THE_REQUEST}进行匹配
RewriteEngine on
RewriteCond %{THE_REQUEST} /page\.php\?page_ID=.+ [NC]
RewriteRule ^ %{REQUEST_URI}? [L,R]