1
ドメイン名からWWWを削除し、URLからスラッシュを削除するための301リダイレクト書き換えルールは作成できません。HtaccessはWWWとSlash + 301リダイレクトを削除します
ご協力いただきありがとうございます。
例:
www.domain.com/ to domain.com
domain.com/ to domain.com
domain.com/page/ to domain.com/page
domain.com/page.php to domain.com/page
マイコード:これは、既存のディレクトリから最後のスラッシュ削除されないことを
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.
RewriteRule^http://example.com%{REQUEST_URI} [NE,L,R]
#remove trailing slash
RewriteRule ^(.+)/$ /$1 [L,R]
#remove .php ext
RewriteCond %{THE_REQUEST} /([^.]+)\.php [NC]
RewriteRule^/%1 [L,R]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/?$ /$1.php [L]
注:
RewriteCond %{HTTP_HOST} ^(www.)?domain\.com$ [NC]
RewriteRule ^(.*)/$ http://%{HTTP_HOST}/$1 [R=301,L]
RewriteRule ^/(.*)/$ /$1 [NC,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
ありがとうございました。 wwwとスラッシュはうまく削除されますが、consは表示可能な.phpのページにリダイレクトされます。 .php拡張子を隠す方法はありますか? – StackOverflowCom
.phpファイルのルールを追加しました。ご覧になるには、ページをリロードしてください。 – starkeen
ありがとうございました。 フラグの使用方法をよりよく理解するために、Apacheのドキュメントを引き続き参照します。 – StackOverflowCom