我想从网址中删除问号并重定向到没有问号的同一页面。
我的网址如:
http://domain.com/what-is-your-name?/21.php
需要的网址:
http://domain.com/what-is-your-name/21.php
答案 0 :(得分:3)
这将删除网址
中的所有?
标记
RewriteCond %{QUERY_STRING} ^(.+)$
RewriteRule ^(.*)$ $1%1? [R,L]
将它作为你在.htaccess中的第一条规则
简短说明:
RewriteCond %{QUERY_STRING} ^(.+)$
检查url中是否有任何GET查询字符串(如?foobar
或?foo=bar
或?/21.php
),它还会填充%1
变量。
当RewriteCond要求满足时,RewriteRule ^(.*)$
会重写任何网址。在$1
标记之前,?
填充了网址部分。 [R]
标志表示它是重定向。 [L]
表示它是最后一条规则。
我强烈建议您不要这样做,并通过修复链接来正确执行此操作。
您可以在网址中转义问号或将其完全删除。