重写 URL 以隐藏查询字符串



我试图屏蔽我的页面的查询字符串以隐藏它的唯一页面ID。这很重要,因为每个 ID 对用户来说都是唯一的。

目前,URL 结构如下所示:


http://domain.com/page.php?Page_ID=1234(其中 1234 是任意数字)

但我需要它看起来像这样:

http://domain.com/page.php

我尝试将以下内容添加到.htaccess文件中,但似乎没有任何区别:

RewriteEngine on
RewriteBase /
RewriteRule ^page.php?Page_ID=([0-9]+)/$ page.php [L,QSA,NC]

我看过其他类似的帖子和其他帖子,但似乎找不到解决方案。我在这里可能缺少什么吗?

查询字符串不是重写规则中匹配的一部分,您需要使用重写Cond 与 %{THE_REQUEST} 匹配

RewriteEngine on

RewriteCond %{THE_REQUEST} /page.php?page_ID=.+ [NC]
RewriteRule ^ %{REQUEST_URI}? [L,R]

最新更新