0

私は完全な初心者ですが、名前が変更されているが内容が同じページのページごとのリダイレクトが非常に単純に見えるもので、何が間違っているのかわかりません。

これは、canonical リダイレクトの下にページ リダイレクトを 1 つだけ含む .htaccess ファイルです。

Options +FollowSymlinks
RewriteEngine On

RewriteCond %{http_host} ^clarityperformancealliance.com [nc]
RewriteRule ^(.*)$ http://www.clarityperformancealliance.com/$1 [r=301,nc]

Redirect 301 /clarity/[A].html http://www.clarityperformancealliance.com/current-performance.html

古いページの名前が (括弧を使用して)非常に貧弱なページであることは認識していますが、角括弧を使用せずに通常の名前を持つページをリダイレクトしようとしても失敗するため、角括弧が失敗の理由ではないと思います。

私は、Apache サーバーであると想定しているものを使用して、共有 Network Solutions Linux サーバーを使用しています。彼らは共有サーバーをセットアップしており、私のルート フォルダーは htdocs と呼ばれるという点でかなり典型的な方法であると思われます。その中に必要な数のサブフォルダーと Web サイトを作成できるため、このために「clarity」という名前のサブフォルダーがあります。特定のウェブサイト。

非 www から www へのリダイレクトは完全に機能します。機能していないのは、すべての個々のページ リダイレクト (ここでは 1 つだけを示しています) です。

私は何が欠けていますか?

4

1 に答える 1

0

リダイレクトは%エンコードされたURLを使用しているので[A].html%5BA%5D.html

これで、clarityサブフォルダーがWebサイトのルートである場合を除いて、構成は正しいように見えます。この場合、リダイレクトのurlpath引数にその/clarity部分を含めることはできません。リダイレクトは、ファイルシステムパスではなく、リクエストURIで機能します。

だから多分:

Redirect 302 /%5BA%5D.html http://www.clarityperformancealliance.com/current-performance.html

私は301ではなく302を使用していることに注意してください。ルールが機能するまでは、301(永続的)ではなく、常に302(一時的)リダイレクトを使用する必要があります。永続的なリダイレクトを使用する場合、テストする場合は、変更のたびにWebブラウザーを閉じる必要があります。ブラウザは、301を受け取った後、特定のURLを再要求していません。

これが機能しない場合は、古いドメインの古いURLでのみリダイレクトの問題を実験しますか、それとも新しいドメインの古いURLをリクエストするときにも実験しますか?

于 2012-10-17T12:03:10.923 に答える