0

処理のために index.php ファイルを介してすべての URI 要求をルーティングするサイトを実行しようとしていますが、webroot で Wordpress も実行しようとしています。「この Web ページにはリダイレクト ループがあります」というエラーが表示されるhttps://mysite.com/wp-admin/へのリクエストを除いて、すべて正常に動作します。https://mysite.com/wp-admin/edit.phpにアクセスすると問題なく動作します。

私の .htaccess ファイルは次のようになります。

RewriteEngine On

# eliminate www
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

# force SSL
RewriteCond %{HTTPS} !=on
RewriteRule .* https://%{SERVER_NAME}/%1 [R,L]

RewriteBase /

# rewrite directory patterns
RewriteRule ^([a-zA-Z0-9-\/]+)/([a-zA-Z0-9-%/\/]+)/([0-9]+)$    /index.php?page=$1&action=$2&id=$3  [NC,QSA,L] 
RewriteRule ^([a-zA-Z0-9-\/]+)/([a-zA-Z0-9-%/\/]+)$ /index.php?page=$1&action=$2    [NC,QSA,L] 
RewriteRule ^([a-zA-Z0-9-\/]+)$ /index.php?page=$1  [NC,QSA,L] 

# Wordpress
<IfModule mod_rewrite.c>
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

リダイレクト ループの原因は何ですか? 入れてみました

RewriteCond %{REQUEST_URI} !wp-admin

強制SSLの前にwwwルールを排除しますが、違いはないようです

4

1 に答える 1

1
RewriteRule ^wp-admin - [L]

このルールを他のすべてのルールの上に追加します。

于 2012-12-01T12:28:29.307 に答える