【问题标题】:Remove amp; from url with htaccess删除放大器;从带有 htaccess 的 url
【发布时间】:2013-12-09 00:07:20
【问题描述】:

如何使用 htaccess 从此网址中删除 amp;

http://www.mywebsite.com/forum/viewtopic.php?f=144&t=14177

让它像这样输出

http://www.mywebsite.com/forum/viewtopic.php?f=144&t=14177

【问题讨论】:

  • 我会失明还是他们是同一个网址?
  • 对不起!问题已编辑。我想删除 amp;在网址中。

标签: .htaccess replace


【解决方案1】:

将此代码放入您的DOCUMENT_ROOT/.htaccess 文件中:

RewriteEngine On

RewriteCond %{THE_REQUEST} \s(.*?)\&amp\;([^\s]*) [NC]
RewriteRule ^ /%1&%2 [L,NE,R]

这将重定向:http://domain.com/forum/viewtopic.php?f=144&t=14177&foo=barhttp://domain.com/forum/viewtopic.php?f=144&t=14177&foo=bar

因此将所有& 转换为&

【讨论】:

    【解决方案2】:

    在您的 .htaccess 中添加一个重写规则怎么样? (确保在您的主要 apache 配置中启用了 mod_rewrite)。

    RewriteEngine On
    RewriteRule (.*)&(.*) $1&$2
    

    我应该更具体...上面将重写 URL,脚本viewtopic.php 将接收正确的查询字符串。以下将重定向用户,使 URL 在其浏览器中正确显示。

    RewriteEngine On
    RewriteRule (.*)&(.*) $1&$2 [R=301,L]
    

    【讨论】:

    • 谢谢,越来越近了。如果我输入 url http://www.mywebsite.com/forum/viewtopic.php&,它可以工作,但是如果我使用带有 F= 和 T= 的完整 url,则没有任何反应(这个:http://www.mywebsite.com/forum/viewtopic.php?f=144&t=14177)有什么想法如何用完整的 url 重写它吗?我对此很陌生..
    • 我早先使用此代码 RewriteCond %{QUERY_STRING} ^style=[0-9]+&(.*)$ RewriteRule ^(.*)$ /$1?%1 [L,R=301] 删除了字符串 style=54,它删除了 url style=54& 中的 style=54& http://www.mywebsite.com/forum/viewtopic.php?style=54&f=144&t=14177 也许一些编辑可以解决这个问题 amp;...
    猜你喜欢
    • 2016-11-18
    • 1970-01-01
    • 1970-01-01
    • 2011-05-20
    • 2017-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多