数年後、私はそれを強制すべきだと思った htaccess ルールにもかかわらず、私が修正しようとしている複製 URL のバグを発見しました (作成者はなくなりました)。
問題: 2 つの URL の下に同じコンテンツがあります。例:
http://www.wrock.pl/news-23069/Depeche_Mode_Party_w_klubie_Liverpool_/
www.wrock.pl/index.php?s=news&d=23069&nazwa=Depeche_Mode_Party_w_klubie_Liverpool_
またはそれより短い www.wrock.pl/index.php?s=news&d=23069
もう 1 つの例は、メニュー ページです。
www.wrock.pl/index.php?s=koncerty
「index.php」バージョンは非表示にするか、わかりやすい URL バージョンにリダイレクトする必要があると考えましたが、どちらも 200/OK で表示されます Index.php 自体は正常にリダイレクトされます: www.wrock.pl/index.php
目的: フレンドリな URl バージョンのみを表示できるようにする (index.php バージョンをリダイレクトする)。Google はそれらのインデックス作成を停止したため、問題である可能性があります (多くの理由の 1 つ)。
提示された例を担当する私のhtaccessは次のとおりです。
RewriteEngine On
RewriteCond %{HTTP_HOST} ^wrock.pl(.*) [NC]
RewriteRule ^(.*)$ http://www.wrock.pl/$1 [R=301,L]
# REDIRECT index.php to /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^/]+/)*index\.php\ HTTP/
RewriteRule ^(([^/]+/)*)index\.php$ http://www.wrock.pl/$1 [R=301,L]
#NEWS
RewriteRule ^news-([0-9]+)/([^-]+)/$ index.php?s=news&d=$1&nazwa=$2 [L,NC]
RewriteRule ^news/([0-9]+)/$ index.php?s=news&strona=$1 [L,NC]
#KONCERTY
RewriteRule ^koncerty/$ index.php?s=koncerty [L,NC]
現在のリダイレクトを変更する必要があるのか、それとも次のように入力する必要があるのか わかりません。
#RewriteRule ^index.php?s=news&d=([0-9]+)&nazwa=([^-]+)$ http://www.wrock.pl/news-$1/$2/ [L,NC]
もちろん機能しません。
Thank You very much for any suggestions.