0

enが存在しない場合、ユーザーをmysite.com/mobilesからmysite.com/en/mobilesにリダイレクトしたい:

私はこれを試しました:

RewriteCond %{REQUEST_URI}{3} !^/en$ [NC]
RewriteCond %{REQUEST_URI} ^(.+)$
RewriteRule ^(.+)$ /en/$1 [R=301,L]

それは私に無限ループを与えています..最初の行は良いですか?リクエストURIの最初の文字を3つだけ比較できますか?

4

1 に答える 1

0

問題は次の行です。

RewriteCond %{REQUEST_URI}{3} !^/en$ [NC]

%{REQUEST_URI}{3}変数が無効です。比較の右側 (変数および/またはリテラルになりたい) に正規表現を混在させることはできません。左側の正規表現で、次で始まらないことを確認するだけ/en/です。

RewriteCond %{REQUEST_URI} !^/en/
于 2012-11-24T15:20:05.897 に答える