【问题标题】:htaccess remove end slash if question mark in URL如果 URL 中有问号,htaccess 删除结束斜杠
【发布时间】:2014-10-19 03:36:35
【问题描述】:

我无法在 .htaccess 中找出这个问题 我需要从每个带有问号的 URL 中删除最后一个斜杠。

http://www.domain.com/directory/?search=abcd/

http://www.domain.com/directory/?search=abcd

但仅当 URL 中有问号时

【问题讨论】:

  • 到目前为止你有什么?

标签: apache .htaccess mod-rewrite url-rewriting slash


【解决方案1】:

好的,我找到了可行的解决方案...

RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{QUERY_STRING} ^(.+)/$
RewriteRule ^(.*)$ /$1?%1 [R=301,L]

【讨论】:

    【解决方案2】:

    试试这个:

    RewriteEngine On
    RewriteCond %{QUERY_STRING} ^(search=[^&]+)/$
    RewriteRule ^(.*)$ /$1?%1 [L,R]
    

    【讨论】:

    • 它和 KRTEK 解决方案一样:它删除最后一个斜杠,但将 URL:domain.com/directory/?search=abc 更改为 domain.com/data/web/domain.com/web/ ?search=abc
    【解决方案3】:

    也许这样的东西可以工作(未经测试):

    RewriteCond %{QUERY_STRING} ^(.*)/$
    RewriteRule (.*) %2?%1 [R=301,L]
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-12
    • 2021-05-07
    • 1970-01-01
    • 2017-05-03
    • 2016-01-03
    • 1970-01-01
    • 2015-05-09
    相关资源
    最近更新 更多