【问题标题】:Remove useless part of url删除url中无用的部分
【发布时间】:2016-01-24 11:11:18
【问题描述】:

我的网站启用了删除 /index.php?q= 的用户友好 URL,但是在 Google 中我发现许多没有意义的 URL,例如:

/category/Trees/index.php?q=/item/view/11527

唯一相关的部分是

如何使用 htaccess 将这些永久重定向到 /item/view/11527 URL?

目前我有这个:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?q=$1&%{QUERY_STRING} [L]

【问题讨论】:

    标签: regex apache .htaccess mod-rewrite friendly-url


    【解决方案1】:

    您可以为此使用重定向规则:

    # external redirect rule
    RewriteCond %{THE_REQUEST} /index\.php\?q=([^\s&]+) [NC]
    RewriteRule ^ %1? [R=302,L,NE]
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
    

    确保在 .htaccess 的顶部设置了适当的 RewriteBase

    【讨论】:

    • 谢谢!正是我需要的。虽然它应该是 301 重定向而不是 302。:)
    • 是的,我保留 302 用于测试和验证。验证后您可以将其更改为 301。
    猜你喜欢
    • 1970-01-01
    • 2014-09-29
    • 1970-01-01
    • 2012-02-26
    • 2012-03-24
    • 2020-12-21
    • 1970-01-01
    相关资源
    最近更新 更多