0

次のコードを使用して、拡張子が .php のすべてのページを .html にリダイレクトしようとしています。

Options +FollowSymLinks

RewriteEngine On

RewriteRule ^(.*)\.php$ /rules/$1.html [R=301,L]

RewriteRule ^([^\.]+)\.html$ /rules/$1.php [NC,L]

「このWebページにはリダイレクトループがあります」というエラーが表示されました

4

2 に答える 2

0

コードを次のように置き換えます。

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

# To externally redirect /dir/foo.php to /dir/foo.html
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php[\s?] [NC]
RewriteRule ^ %1.html? [R=301,L]

# To internally forward /dir/foo.html to /dir/foo.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^(.+?)\.html?$ /$1.php [L,NC]
于 2013-09-23T11:31:14.010 に答える