サポート » 使い方全般 » .htmlが転送されてしまう。

  • 皆様

    お世話になっております。

    数年前にHPツールで作成していたhtmlサイトからWPに乗り換えました。

    この時はパーマリンク

    /%postname%/html

    で運用していました。google Search Consoleでも特に問題はありませんでした。
    (異変に気付かなかっただけかもしれませんが、警告等はありませんでした)

    で、数ヶ月後にURLをまとめようと思い .htaccessにて

    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{THE_REQUEST} ^.*/index.html
    RewriteRule ^(.*)index.html$ http://example.net/$1 [R=301,L]

    RewriteCond %{THE_REQUEST} ^.*.html
    RewriteRule ^(.*).html$ http://example.net/$1 [R=301,L]
    RewriteBase /
    RewriteRule ^index\.php$ – [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>

    # END WordPress

    パーマリンクは「/%postname%/」のみに変更

    wp前のサイトは「/index.html」と「.html」があるサイトでしたので、一応やっておこうか という感じでした。

    そこから更に数ヵ月後に、Search Consoleからサイトマップで初めての警告を受け
    プラグインのXML Sitemapの「HTML形式でのサイトマップを含める」 のチェックを外し、一応解決したつもりでした。

    更に1ヶ月後(今現在)にSearch Consoleから「プロパティにアクセスできません」
    となり、googleから提供された.htmlファイルが「.html」の無いURLに転送されてしまっている事に気付きました。

    .htaccessの記述を消したのですが、相変わらず「.html」の無いURLに転送されてしまいます。

    なんだか内部がごちゃごちゃしてしまっている気がします。

    Search Consoleに関しては、別の方法での認証もできるので、問題ありませんが、今後どんな不具合が起きるかわまりません。
    今の内にこの転送設定を解除したいのですが、検索しても、どうにも方法が見当たりません。

    どなたか御教授頂けると幸いです。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • モデレーター Daisuke Takahashi

    (@extendwings)

    一番早い解決方法は.htaccessにした変更を戻すことです。

    もし、Apacheの機能を使って解決するのであれば、難易度は上がりますが、「リクエストされたパスが”.html”で終わっていれば、なしのURLに転送する。」に「その名前のファイルが実在しないこと」という条件を加えてあげれば解決しますね。
    なので具体的には、

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d

    を追加してあげる感じです。

    トピック投稿者 yumiko245

    (@yumiko245)

    お早い返事有難うございます!

    素人で申し訳ありません。基本、コピペで対応してきたもので

    「.html」の設定を解除する場合は下記のような記述で良いのでしょうか。

    RewriteCond %{THE_REQUEST} ^.*.html
    RewriteRule ^(.*).html$ http://example.net/$1 [R=301,L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{THE_REQUEST} ^.*.html
    RewriteRule ^(.*).html$ http://example.net/$1 [R=301,L]

    間や上にもしましたが、上手くいきません。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「.htmlが転送されてしまう。」には新たに返信することはできません。