代替

2017-11-09 9 views
1

私は、いくつかのリンクは、すべてのリンクが.COMすなわち後/ ENで追加されるべきでhtaccessファイルにリダイレクトしてい代替

mydomain.com、mydomain.com/abc.html

htaccessファイルで301リダイレクト

にmydomain.com/en、mydomain.com/en/abc.html

いくつかの調査の後、私はリダイレクト301がそれを行うことを発見しました。しかし、私はこれが完璧で永久的な解決策ではないと思います。将来、別のURLを追加すると、再びhtaccessに追加する必要があります。だから、これを完璧で永久的に解決するのに、誰も助けてくれます。

私は私のhtaccessでこれを行っている

Redirect 301 /about.html /en/about.html 
Redirect 301 /contact-us.html /en/contact-us.html 
Redirect 301 /index.html /en/index.html 
Redirect 301 /locations.html /en/locations.html 

答えて

1

あなたはあなたのサイトのルートの.htaccessにこの単一のリダイレクトルールを使用することができます。

RewriteEngine On 

RewriteRule ^(?!en/)(.+\.html)$ /en/$1 [L,NC,NE,R=301] 

(?!en/) URIと主張する否定先読みが既にされていないです/en/で始まります。

+0

あなたの回答をいただきありがとうございますが、1つのURLに対して、より多くの '/ en'がほぼ20 '/ enのものを追加しています....何が問題なのでしょうか。 – Sravani

+0

キャッシュを避けるために新しいブラウザからテストしてください。問題の原因となっているURLの例も示してください。 – anubhava

+1

はい、ありがとうございました... – Sravani