【问题标题】:htaccess 301 redirect doesn't workhtaccess 301 重定向不起作用
【发布时间】:2014-07-05 01:16:09
【问题描述】:

现场直播-http://www.marchingmonk.com

我在我的 htaccess 文件中添加了 301 重定向,但这不起作用。 代码-

Redirect 301 /home http://www.marchingmonk.com

当您点击网站的“主页”按钮时,用户不会被重定向到http://www.marchingmonk.com,而是将用户重定向到http://www.marchingmonk.com/home,这会产生重复内容问题。该站点是使用 CMS 创建的(我对该 CMS 没有任何了解),因此我想通过 htaccess 文件进行重定向,但这不起作用。

知道如何解决这个问题。

htaccess文件完整代码-

#old php Handler

RewriteEngine On
RewriteCond %{HTTP_HOST} ^marchingmonk\.com$
RewriteRule ^(.*) http://www.marchingmonk.com/$1 [R=301]
RewriteCond %{HTTP_HOST} ^(www.)?marchingmonk.com$
RewriteRule ^([^\.]+)/?$ index.php?id=$1 [QSA,L]

RedirectMatch 301 ^/home/?$ http://www.marchingmonk.com

【问题讨论】:

    标签: apache .htaccess mod-rewrite redirect


    【解决方案1】:

    您可以使用RedirectMatch 来获取其正则表达式功能:

    RewriteEngine On
    
    RewriteRule ^home/?$ http://www.marchingmonk.com/? [L,NC,R=301]
    
    RewriteCond %{HTTP_HOST} ^marchingmonk\.com$
    RewriteRule ^(.*) http://www.%{HTTP_HOST}/$1 [R=301,L]
    
    RewriteCond %{HTTP_HOST} ^(www\.)?marchingmonk\.com$ [NC]
    RewriteRule ^([^.]+?)/?$ index.php?id=$1 [QSA,L]
    

    【讨论】:

    • 点击菜单上的主页按钮时不显示-marchingmonk.com/?id=home
    • 你能告诉我最后两行代码的职责/作用是什么。
    • 最后两行来自您现有的代码。此规则将任何非文件非目录请求转发到 /index.php,带有 GET 参数 'id'
    • 我知道这是来自以前的代码,我只是好奇它的作用。非常感谢。
    猜你喜欢
    • 2013-04-06
    • 2017-06-30
    • 2014-12-21
    • 2011-03-08
    • 2013-03-14
    • 2023-03-27
    • 1970-01-01
    相关资源
    最近更新 更多