htaccess 重定向从 url 中删除问号

sar*_*awa 1 .htaccess redirect

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

我的网址如:

http://domain.com/what-is-your-name?/21.php
Run Code Online (Sandbox Code Playgroud)

需要网址:

http://domain.com/what-is-your-name/21.php
Run Code Online (Sandbox Code Playgroud)

Pet*_*ter 5

?这将从URL 中删除任何标记

RewriteCond %{QUERY_STRING} ^(.+)$
RewriteRule ^(.*)$ $1%1? [R,L]
Run Code Online (Sandbox Code Playgroud)

将其作为 .htaccess 中的第一条规则

简短说明:

RewriteCond %{QUERY_STRING} ^(.+)$检查 url 中是否有任何 GET 查询字符串(如?foobaror?foo=bar?/21.php),它也会填充变量%1。当 RewriteCond 要求已满时,RewriteRule ^(.*)$重写任何 url。$1标记前填写 URL 部分?[R]标志表明这是一个重定向。[L]意味着这是最后一条规则。

我强烈建议不要这样做,并通过修复链接来正确地做到这一点。

您可以转义 URL 中的问号或将其完全删除。