RedirectPermanent使用不当

时间:2015-05-27 17:10:01

标签: .htaccess symfony

我试着改变我的网址=> www.mysite.com到www.mysite.com/fr/我必须使用我的.htaccess。

所以我改变了我的.htaccess,就像那样:

SetEnv SHORT_OPEN_TAGS 0
SetEnv REGISTER_GLOBALS 0
SetEnv MAGIC_QUOTES 0
SetEnv SESSION_AUTOSTART 0
SetEnv ZEND_OPTIMIZER 1
SetEnv PHP_VER 5_3
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ web/$1 [QSA,L]
    RedirectPermanent / http://www.chat.com/fr/
</IfModule>

我有这样的/web/.htaccess:

DirectoryIndex app.php

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
    RewriteRule ^(.*) - [E=BASE:%1]

    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    RewriteCond %{ENV:REDIRECT_STATUS} ^$
    RewriteRule ^app\.php(/(.*)|$) %{ENV:BASE}/$2 [R=301,L]

    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule .? - [L]

    RewriteRule .? %{ENV:BASE}/app.php [L]
</IfModule>

<IfModule !mod_rewrite.c>
    <IfModule mod_alias.c>
        RedirectMatch 302 ^/$ /app.php/
    </IfModule>
</IfModule>

当我尝试上传我的网站时,我有这个网址:www.mysite.com/fr/fr/fr/fr / ...并且出错。有人可以帮帮我吗? :(

1 个答案:

答案 0 :(得分:1)

您的规则确实会导致重定向循环。在root .htaccess中试试这个:

<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteRule ^/?$ /fr/ [L,R]

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ web/$1 [L]
</IfModule>

请务必在清除浏览器缓存后对此进行测试。