htaccess替换所有URL的一部分

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了htaccess替换所有URL的一部分相关的知识,希望对你有一定的参考价值。

如何用“#do”替换上一个地址中带“/?h = down”的所有URL并重定向到新地址。

例如:http://my.site.com/any/?h=down

重定向到:http://my.site.com/any#do

答案

您可以使用RewriteCond检查查询字符串,然后使用与R标志配对的NE标志进行重定向。

NO | NoEscape

默认情况下,特殊字符(例如&和?)将转换为其等效的十六进制代码。使用[NE]标志可防止发生这种情况。

做这样的事情:

RewriteEngine on
RewriteCond %{QUERY_STRING} ^h=down$
RewriteRule ^(.*)$ $1/#do [R,NE,L]

由于您还想删除原始查询字符串,您可以尝试添加如下所示的尾随?

RewriteRule ^(.*)$ $1/#do? [R,NE,L]

以上是关于htaccess替换所有URL的一部分的主要内容,如果未能解决你的问题,请参考以下文章

结合两个代码片段?将用户输入的 Youtube url 转换为嵌入 url,然后将 iframe src 替换为转换后的 url

.htaccess删除部分URL

正则表达式匹配特定的 URL 片段而不是所有其他 URL 可能性

替换部分查询字符串

PHP 替换 URL 中的变量

在活动中添加/替换后,片段的所有元素都为空