0

301 URL リダイレクトについて質問させてください。だから、私はウェブサイトを持っており、以前のURLは次のとおりです。

http://www.sample.com/tutorials.php?name=sample

しかし、今は次のとおりです。

http://www.sample.com/tutorials/programming/sample.php

したがって、新しい URL の構文は次のようになると結論付けることができます。

http://www.sample.com/tutorials/(name of the category)/(value of the variable).php

私は 301 リダイレクトをいじっていましたが、次のコードを使用すると 500 内部サーバー エラーが発生しました。

RewriteEngine On
RewriteCond %{COND ^tutorials.php?name=sample$ HTTP/1.1} ^[A-Z]{3,9}\ /tutorials\.php\?name=([^&\ ]+)
RewriteRule ^ /tutorials/programming/%1.php [L,R=301]

また、独自の 301 リダイレクト コードを作成しようとしましたが、500 内部サーバー エラーは発生しませんでしたが、うまくいくかどうかはわかりません (検索エンジンは localhost にインデックスを付けないため、localhost でテストできません)。ここにあります :

RewriteEngine On
Redirect 301 /tutorials.php?name=$1 http://www.sample.com/tutorials/programming/(.+)\.php

したがって、上記のコードが優れているとは言えませんが、そうでない場合は、古いサイトを新しいサイトに 301 リダイレクトする方法を (できる限りゆっくりと、できるだけ詳細に) 説明してください。前述したように、私は動的 Web サイトを使用しており、.htaccess ファイル (mod_rewrite) を使用して書き換えています。

できるだけ詳しく説明するように努めました。さらに詳細が必要な場合は、お気軽にお問い合わせください。

4

1 に答える 1

1

古いリンクを新しいドメインにリダイレクトする必要があります。これがあなたがそれを行う方法です。

htaccess の使用:

以下のコードで .htaccess ファイルを作成します。これにより、古いドメインのすべてのディレクトリとページが新しいドメインに正しくリダイレ​​クトされるようになります。.htaccess ファイルは、古い Web サイトのルート ディレクトリ (つまり、インデックス ファイルが配置されているディレクトリ) に配置する必要があります。

Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://www.newdomain.com/$1 [R=301,L] 

リダイレクトに加えて、すべてのバックリンク サイトに連絡して、新しい Web サイトを指すようにバックリンクを変更することをお勧めします。

注:このリダイレクトの .htaccess メソッドは、Apache Mod-Rewrite モジュールが有効になっている Linux サーバーでのみ機能します。

その他の方法については、これを参照してください

編集:

以下のコードで .htaccess ファイルを作成します。これにより、domain.com に着信するすべてのリクエストが www.domain.com にリダイレクトされるようになります。.htaccess ファイルは、古い Web サイトのルート ディレクトリに配置する必要があります (つまり、インデックスファイルが置かれているディレクトリと同じ)

Options +FollowSymlinks
RewriteEngine on
rewritecond %{http_host} ^domain.com [nc]
rewriterule ^(.*)$ http://www.domain.com/$1 [r=301,nc] 
于 2012-09-15T12:06:14.630 に答える