2017-07-26 10 views
-1

私はmydomain/en/mobile、mydomain/de/mobileなどの異なる言語のサイトを持っています。新しいモバイルウェブサイトが来ており、URLはf.xから変更されています。/en/mobile to/mobile/enなど。最初の数ページをリダイレクトしたいし、後ですべてを新しいリンクにリダイレクトします。私は、このようなルールは、単一の言語に実装され、それが動作してい:mod_rewriteを使用して特定のURLを書き換えるにはどうすればいいですか?

RewriteEngine On 
RewriteCond %{REQUEST_URI} ^/en/mobile/(.*)$ 
RewriteRule (.*) https://%{HTTP_HOST}/mobile/en [L,R=301] 

は今、私は2つのルールを必要とする - それらのほんの一部をリダイレクトし、すべての言語と1をリダイレクト1 - f.x.をen/de/frはリダイレクトする必要がありますが、そうでないようにしてください。私のために働いた

+0

だから、試合 '(JA | DE | FR)あなただけのパスコンポーネントにチェックされている場合、'そして... FYI、あなたはのRewriteCondを使用する必要はありませんURLを指定すると、RewriteRuleパターンでマッチングを実行できます。 – CBroe

+0

私を正しい道につけてくれてありがとう。 – Qmpeltaty

答えて

0

RewriteRule ^/(en|de|fr)/mobile(.*)$ https://%{HTTP_HOST}/mobile/$1 [L,R=301] 
+0

本当にですか? .htaccessコンテキストでリライトを設定すると、パスの先頭のスラッシュはすでにその時点で取り除かれているので、 '^ /'は決して一致してはいけません。私はあなたが '^(en | de | fr)/ ...'を作るときにのみこれがうまくいくと思います。 – CBroe

関連する問題