2

新しいドメインに移動する何千ものページを持つクライアントドメインがあります。.htmlの命名規則が変更され、htaccessがこれをなんとかして処理できることを私は知っています。

次に例を示します。

古いサイト: http: //oldsite.com/state/cityname-index.html

新しいサイト: http: //newsite.com/state/computer-support-cityname-index.html

これは今のところ私の理解を超えています。少し助けていただければ幸いです。ありがとう!

4

1 に答える 1

1

古い W​​eb サイト ページを新しいページにリダイレクトする場合は、次のように書き換えを使用できます。

RewriteEngine on
RewriteCond %{HTTP_HOST} ^oldsite.com$ [NC]
RewriteRule ^([^/]+)/(.+)-index\.html$ http://newsite.com/$1/computer-support-$2-index.html [QSA,R=301]

最初の行は、htaccess での書き換えを有効にします。

2 つ目は、現在の要求が古い Web サイトに対するものかどうかを確認します。

はいの場合、3 行目がアクティブになります。これには、正規表現と、その正規表現が一致した場合にリダイレクトする新しいリンクが含まれます[QSA,R=301]。最後の は、書き換えルールに影響を与えるフラグです。

私が書いたこのルールは、州 (最初の括弧) と都市名 (2 番目の括弧) をキャプチャし、新しい Web サイトにリダイレクトして、$n (n は前の括弧の番号) をキャプチャしたコンテンツに置き換えます。

QSAフラグ (Query String Append) は、古いサイト リクエストのパラメータを新しく生成されたリクエストに追加します。

R=301フラグは、コード 301 (永続的なリダイレクト) でブラウザーのリダイレクトを生成します。

mod_rewrite の詳細については、http: //httpd.apache.org/docs/current/mod/mod_rewrite.html を参照してください。

于 2012-09-14T14:01:09.707 に答える