2

クイックアップデート

そこに着きましたこのmod_aliasはありますか?

RedirectMatch 301 ^/ http://brightmist.co.uk/

すべての下にこの1行のコードを追加しましたが、機能しているように見えますが、http://brightmist.co.uk/blog/2013/02/23/manchester-art-gallery-feb-2013などの他のディレクトリこれらのページが一時的に移動したことをグーグルに伝えています-http ://www.internetofficer.com/seo-tool/redirect-check/を参照してください

これは、自分のサイトを正しく通り抜けて、リダイレクトのトーンを追加する必要があることを意味しますか?


元の質問

新しいウェブサイトがあります。古いサイトのリンクをすべてhttp://artygirl.co.ukから新しいサイトのhttp://brightmist.co.uk/にリダイレクトしたいと思います。

私は主にPhotoshop、CSS、HTML、Wordpress、jQueryで長年使用した経験を持つデザイナーですが、htaccessファイルなどの編集についてはよくわかりません。そして、それはグーグルのランキングが下がるなどを意味するので、私はそれを間違えたくありません

htaccessファイルの下部に貼り付けることができるスクリプトを知っている人はいますか?サイト上のすべてのリンク/ページを以前と同じ場所にリダイレクトしたいと思います。たとえば、http://artygirl.co.uk/buy-art-prints-cheshire/と入力すると、 http://brightmist.co.uk/buy-art-prints-cheshire/に移動します。同じホストを使用して、ドメインを再指定しました

特に、私のホストが最近次のコードを追加しました。これはドメインマッピングにも関係していると思います。また、ここに私のhtaccessファイル全体があります-

ErrorDocument 401 /forms/401.html
ErrorDocument 403 /forms/403.html

RewriteEngine On
RewriteBase /

#uploaded files
RewriteRule ^(.*/)?files/$ index.php [L]
RewriteCond %{REQUEST_URI} !.*wp-content/plugins.*
RewriteRule ^(.*/)?files/(.*) wp-includes/ms-files.php?file=$2 [L]

# add a trailing slash to /wp-admin
RewriteCond %{REQUEST_URI} ^.*/wp-admin$
RewriteRule ^(.+)$ $1/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule . - [L]
RewriteRule  ^([_0-9a-zA-Z-]+/)?(wp-.*) $2 [L]
RewriteRule  ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]

<IfModule mod_security.c>
<Files async-upload.php>
SecFilterEngine Off
SecFilterScanPOST Off
</Files>
</IfModule>

<Files 403.shtml>
order allow,deny
allow from all
</Files>

deny from 218.143.4.127
deny from 143.90.221.204
deny from 95.135.78.190
deny from 114.108.150.74
deny from 95.135.111.205
deny from 91.124.239.150
deny from 94.178.2.93
deny from 91.124.206.118
deny from 91.124.226.116
deny from 118.98.32.34
deny from 94.180.252.133
deny from 58.27.140.58
deny from 77.93.197.83
deny from 88.191.63.27

# Hotlink Protection START #

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?brightmist.co.uk [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?google.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ - [NC,F,L]

# Hotlink Protection END #
4

3 に答える 3

5

http://artygirl.co.uk/古いサイトのリンクをすべて新しいサイトにリダイレクトしたいhttp://brightmist.co.uk/

これを実現するにはいくつかの方法がありますが、それらはすべてhttp://artygirl.co.uk/ルートディレクトリの1つの.htaccessファイルに実装する必要があります。

artygirl.co.uk.htaccessファイルが配置されている着信ドメインを確認する必要はありません。

次のオプションのいずれかを使用するには、対応するディレクティブまたはルールセットをコピーしてルートディレクトリの1つの空の.htaccessファイルに貼り付けます。http://artygirl.co.uk


最速のものは、1つのmod_aliasディレクティブを使用した単純なリダイレクトです。

Redirect 301 /  http://brightmist.co.uk/

受信URLのパスは、リダイレクトされたURLに自動的に追加されます。


mod_alias別のディレクティブを使用して特定のパスのみをリダイレクトするには:

RedirectMatch 301 ^/(.*)  http://brightmist.co.uk/$1

この例ではすべてをリダイレクトしますが、^/(.*)特定のURLパスパターンのみに一致するように正規表現を変更できます。


mod_rewriteディレクティブを使用して特定のパスのみをリダイレクトするには:

Options +FollowSymlinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)   http://brightmist.co.uk/$1  [R=301,NC,QSA,L]

前のオプションと同様に、このルールセットはすべてをリダイレクトしますが、^(.*)特定のURLパスパターンのみに一致するように正規表現を変更できます。


ノート

  • 以前のオプションのいずれかが機能するには、同じディレクトリ構造とファイルがにhttp://artygirl.co.uk/存在する必要があります。http://brightmist.co.uk/

  • http://brightmist.co.uk/質問の実際の.htaccessファイルが期待どおりに機能する場合は、新しいWPがインストールされているルートディレクトリで使用できます。ただし、いくつかの変更が必要になる場合があります。

  • WPインストールを移動またはコピーするには、このリンクを確認してください。サイトのURLを変更します


アップデート:

あなたのコメントのこれらの文からこの答えへ:「私のドメインは両方とも同じディレクトリを指しています...」と「...今それはループを作成します...」、多分質問は同じコンテンツを指しているドメインについてです(ウェブサイト)、通常はparkedドメインとして知られています。

その場合、.htaccessでプライマリドメインをパークされたドメインにリダイレクトすることが、ブラウザのアドレスバーのドメイン名を変更するための正しいアプローチであるかどうかはわかりません。

ただし、理論的には、このようなものはmod_rewriteディレクティブを使用してそれを行う必要があります。

Options +FollowSymlinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST}  artygirl\.co\.uk      [NC]
RewriteRule ^(.*)   http://brightmist.co.uk/$1  [R=301,NC,QSA,L]

からのすべての要求を永続的にリダイレクトhttp://artygirl.co.ukhttp://brightmist.co.uk、存在する場合は完全な着信パスとクエリを追加します。

.htaccessファイルも共有されているため、このルールセットは、質問の.htaccessファイルの先頭に配置し、次の行を置き換える必要があると思います。

RewriteEngine On
RewriteBase /
于 2013-03-06T05:12:29.173 に答える
0

それらは同じ内線番号にリダイレクトしていますか?次のようになります。

RewriteEngine on 
RewriteRule ^(.*)$ http://newdomain.com/$1 [R=301,L]
于 2013-03-01T22:14:40.027 に答える
0

問題があります。ルートを正常にリダイレクトしますが、次の場所に移動すると次のようになります。

http://artygirl.co.uk/photography/

行きたいと思います

http://brightmist.co.uk/photography/

ではなく

http://brightmist.co.uk/

現在のように。

書き換えルールはデバッグが難しいことで有名ですが、これを試してください...

RewriteEngine On
RewriteBase  /
RewriteCond %{HTTP_HOST} !^brightmist\.co\.uk$ [NC]
RewriteRule ^(.*)$ http://brightmist.co.uk/$1 [R=301,L]

これはマシューキャンプが答えたものと本当に似ていることを私は知っています。RewriteCondは、同じフォルダーから両方のドメインを配信するため、無限ループを回避するために非常に重要です。間違っているものだけをリダイレクトしたい。

サーバーの構成方法や、上位レベルに存在する他のリライトルール(ユーザーには表示されませんが、影響を受ける可能性があります)によっては、リライトベースも必要になる場合があります。RewriteBaseの有無にかかわらず試してください。

これがお役に立てば幸いです。

于 2013-03-07T22:16:21.517 に答える