/enにある別の英語プロジェクトを作成するために、既存のプロジェットをルートから言語フォルダ/ frに移動します。301リライトされたページのリダイレクト
プロジェクトはシンプルで、2つのページ(index.phpとliste.php)で構成されています。最初のページは、パラメータ
/index.php?hash=[page-hash]
を受けていたので、ここで
/[page-hash].html
としての.htaccessに書き直された が古い.htaccessファイルの内容です:
RewriteEngine On
######### Page rewriting ########
RewriteRule ^liste\.html$ liste.php [QSA,L]
RewriteRule ^(.*)\.html$ index.php?hash=$1 [QSA,L]
私が欲しいですGoogleによって索引付けされた古い書き換えページ(www.domain.com/[page-hash].html)は、www.domain.com/fr/[page-hash].htmlにリダイレクトされ、Googleはまだ新しい新しい場所でそれらを見つけるそれが移動されたことが通知されます。
これはリルーティングではなく、リダイレクトであり、その操作方法はわかりません。私はRewriteCondと[R = 301]を使用しなければならないと思いますが、どうすればいいのか分かりません。
もちろん、新しいページは/fr/index.php?hash=[page-hash]を/fr/[page-hash].htmlに書き直す必要があり、ルートは一般に/ frにリダイレクトされます。だから既にこの新しい.htaccess:
RewriteEngine On
######## Redirect from root to /fr #######
RewriteRule ^$ /fr
Redirect 301 /liste.html /fr/liste.html
Redirect 301 /liste.php /fr/liste.html
######### Page rewriting ########
RewriteRule ^fr/liste\.html$ /fr/liste.php [QSA,L]
RewriteRule ^fr/(.*)\.html$ /fr/index.php?hash=$1 [QSA,L]
RewriteRule ^en/list\.html$ /en/list.php [QSA,L]
RewriteRule ^en/(.*)\.html$ /en/index.php?hash=$1 [QSA,L]
私は、少なくともその一部を手に入れました。私はリダイレクトルールに[R]を使用し、[L]命令でliste.html 'RewriteRule^liste \ .html $ \t /fr/liste.html [QSA、R、L]'にそれを適用します。他のページをリダイレクトするために[R]ルールを使います: 'RewriteRule ^(。*)\ .html $ /fr/index.php?hash=$1 [QSA、R]' – bolino