基本的に私は自分のサイトでSEOに対応できるように取り組んでいます。私は以下を達成したかった:
- URLをきれいなものに書き直します
- 複数のスラッシュを削除します(例
example.com/////something///
:example.com/something/
- wwwバージョンをwww以外のバージョンにリダイレクトします。
- すべてのURLからindex.phpファイルを非表示にします
/?id=something/
古いものから(新しいURLに/something/
)リダイレクトする
.htaccess
私はこのコードを思いついた:
RewriteCond %{THE_REQUEST} //
RewriteRule .* $0 [R=301]
RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
RewriteCond %{QUERY_STRING} ^id=([a-z0-9\/-]+)
RewriteRule ^(.*)$ http://example.com/%1? [R=301]
RewriteRule ^index.php(.*)$ /$1 [R=301]
RewriteRule ^([a-z0-9\/-]+)$ /?id=$1 [L]
...そしてそれは機能していますが、副作用があります:チェーンリダイレクト、例えば。example.com/?id=something//////
-> example.com/something//////
->example.com/something/
それで、このコードを書き直したり変更したりして、URLの優先バージョンに一度だけリダイレクトする方法はありますか?