このコードを使用して、URL の末尾から .php を削除し、SEF を増やしています。
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/(.+)\.php[^\s]* [NC]
RewriteRule ^ /%1 [R=301,NE,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^ %{REQUEST_URI}.php [QSA,NC,L]
これは一般的で、すべての UR で完全に機能しますが、唯一の URL に対して例外を作成する方法を知りたいと思います。つまり
、他のすべてに影響を与えずにhttp://www.domain.com/services
. http://www.domain.com/services.php
これは可能ですか?
シンプルなリダイレクトを試しましたが、ループに入りました。
! 編集済み!
私はこれらのルールも持っているとは言いませんでした:
wwwを追加。
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
インデックスを削除します(インデックスの拡張子 .php は既に削除されています)
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s(.*)/index/?([^\ \?]*) [NC]
RewriteRule ^ %1/%2 [R=301,L]