htaccess重定向从网址中删除问号

时间:2014-06-10 11:46:55

标签: .htaccess url-redirection

我想从网址中删除问号并重定向到没有问号的同一页面。

我的网址如:

http://domain.com/what-is-your-name?/21.php

需要的网址:

http://domain.com/what-is-your-name/21.php

1 个答案:

答案 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]表示它是最后一条规则。

我强烈建议您不要这样做,并通过修复链接来正确执行此操作。

您可以在网址中转义问号或将其完全删除。