【问题标题】:.htaccess redirect in certain cases only.htaccess 仅在某些情况下重定向
【发布时间】:2012-06-24 23:51:13
【问题描述】:

在这些情况下,我需要重定向到 www.domain.com/go404:

www.domain.com

www.domain.com/

域名.com

domain.com/

但不是,当他们输入时(我已经涵盖了)

   www.domain.com/subdomain or
   domain.com/subdomain

目前,我的 .htaccess 代码有这个 sn-p:

 # This sends "just domain" visits to 404
 RewriteCond %{HTTP_HOST} ^domain.com$ [NC] 
 RewriteRule ^(.*)$ http://www.domain.com/go404 [R=301,L]

 # This one makes a NON WWW become a WWW
 RewriteCond %{HTTP_HOST} ^domain.com$ [NC] 
 RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]

 # This strips the trailing slash
 RewriteRule ^(.*)\/(\?.*)?$ $1$2 [R=301,L]

谁能告诉我如何设置条件,以便它只允许在没有尾部斜杠和/或子文件夹字符串的情况下编写域?如上所述,那些应该重定向到 404。

【问题讨论】:

    标签: .htaccess redirect


    【解决方案1】:

    这些规则应该满足你的需要:

     RewriteCond %{HTTP_HOST} ^domain.com$ [NC] 
     RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]
    
     RewriteCond %{HTTP_HOST} ^www.domain.com$ [NC] 
     RewriteRule ^$ go404 [R=301,L]     
    

    【讨论】:

    • 谢谢!我今天会检查它们并回复你。
    • 啊啊啊!伟大的让它看起来如此简单!非常感谢你的回答。这是一个简单的解决方案,在我的所有测试场景中都能完美运行。我特别关注www.domain.com/admin。通过我之前的尝试,我可以打开管理面板,但无法保存任何更改。现在效果很好。再次感谢。
    • 很高兴听到它有效 :) 如果有效,您可以接受答案。
    猜你喜欢
    • 2020-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-28
    • 2014-01-17
    • 2015-05-02
    • 1970-01-01
    • 2016-11-04
    相关资源
    最近更新 更多