【问题标题】:Going mad with infinite loop and RewriteCond, need help对无限循环和 RewriteCond 发疯,需要帮助
【发布时间】:2010-02-27 23:34:50
【问题描述】:

如果用户输入的任何网址不以“en”或“fr”开头,我想将他们重定向到我的主页。我花了几个小时试图完成这项工作,但这对我脆弱的新手大脑来说太难了。目前,如果我尝试去

http://mysite.com/fr/produits/

Firefox 告诉我重定向永远不会完成。

这就是我想要的:

http://mysite.com/en/whatever/ ==> rewrite as /whatever/index.php?lang=en
http://mysite.com/fr/whatever/ ==> rewrite as /whatever/index.php?lang=fr

http://mysite.com/jp/whatever/ ==> 301 redirect to /fr/accueil/ 
http://mysite.com/whatever/ ==> 301 redirect to /fr/accueil/ 

这是我当前的 htaccess。有关详细信息,请参阅内联 cmets。

Options +FollowSymLinks
RewriteEngine On
RewriteBase /

# Require no www
RewriteCond %{HTTP_HOST} !^mysite\.com$ [NC]
RewriteRule ^(.*)$ http://mysite.com/$1 [R=301]

# Redirect from root to /fr/accueil/, the URL for the default home page
RewriteRule ^/$ http://mysite.com/fr/accueil/ [NC,R=302]

# Rewrite language path fragment (/fr or /en) as a parameter 
RewriteRule ^fr/accueil/$ /accueil/index.php?lang=fr [QSA,NC] 
RewriteRule ^en/home/$ /accueil/index.php?lang=en [QSA,NC] 
RewriteRule ^fr/produits/$ /produits/index.php?lang=fr [QSA,NC] 
RewriteRule ^en/products/$ /produits/index.php?lang=en [QSA,NC] 

# I'm aware that the rules in this htaccess are re-examined each
# time a rewrite is issued. So the 'fr/accueil/' I'm redirecting to
# will itself be rewritten as /accueil/index.php?lang=fr. That is
# why I'm providing 3 conditions:
# If URI does not start with 'en' AND
# If URI does not start with 'fr' AND
# If QUERY_STRING is not exactly 'lang'
RewriteCond %{REQUEST_URI} !^en/.*$
RewriteCond %{REQUEST_URI} !^fr/.*$
RewriteCond %{QUERY_STRING} !^lang$
RewriteRule ^.*$ fr/accueil/ [NC,R=301]

请让我摆脱痛苦。干杯!

【问题讨论】:

    标签: .htaccess loops infinite-loop mod-rewrite


    【解决方案1】:

    尝试替换最后一行

    RewriteRule ^.*$ fr/accueil/ [NC,R=301]
    

    RewriteRule ^.*$ fr/accueil/ [NCL,R=301]
    

    【讨论】:

    • 抱歉,没有变化(我以为你的意思是 [NC,L,R=301])
    猜你喜欢
    • 1970-01-01
    • 2013-05-24
    • 1970-01-01
    • 2021-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-27
    • 1970-01-01
    相关资源
    最近更新 更多