ここにwordpressブログサイトの.htaccessがあります。これを使用してwwwを非wwwにリダイレクトします
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{HTTP_Host} ^www\.example\.com$ [NC]
RewriteRule ^(.*)$ http://example.com%{REQUEST_URI} [R=301,L]
RewriteBase /blog/
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^/]+/)*index\.(html|php)\ HTTP/
RewriteRule ^(([^/]+/)*)index\.(html|php)$ http://example.com/blog/$1 [R=301,L]
RewriteCond %{REQUEST_URI} /+[^\.]+$
RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]
しかし、www.example.com/blog /を開こうとすると、500内部エラーが発生します。
ログに記載されています:構成エラーの可能性があるため、リクエストは10回の内部リダイレクトの制限を超えました。必要に応じて、「LimitInternalRecursion」を使用して制限を増やします。 「LogLevel debug」を使用してバックトレースを取得します。
提案、私の.htaccessの何が問題になっていますか
エラーログ :
[Tue Sep 13 08:49:52 2016] [error] [client 127.0.0.1] Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.
[Tue Sep 13 08:49:52 2016] [debug] core.c(3072): [client 127.0.0.1] r->uri = /mnt/var/www/html/example/web/index.php
[Tue Sep 13 08:49:52 2016] [debug] core.c(3078): [client 127.0.0.1] redirected from r->uri = /mnt/var/www/html/example/web/index.php
[Tue Sep 13 08:49:52 2016] [debug] core.c(3078): [client 127.0.0.1] redirected from r->uri = /mnt/var/www/html/example/web/index.php
[Tue Sep 13 08:49:52 2016] [debug] core.c(3078): [client 127.0.0.1] redirected from r->uri = /mnt/var/www/html/example/web/index.php
[Tue Sep 13 08:49:52 2016] [debug] core.c(3078): [client 127.0.0.1] redirected from r->uri = /mnt/var/www/html/example/web/index.php
[Tue Sep 13 08:49:52 2016] [debug] core.c(3078): [client 127.0.0.1] redirected from r->uri = /mnt/var/www/html/example/web/index.php
[Tue Sep 13 08:49:52 2016] [debug] core.c(3078): [client 127.0.0.1] redirected from r->uri = /mnt/var/www/html/example/web/index.php
[Tue Sep 13 08:49:52 2016] [debug] core.c(3078): [client 127.0.0.1] redirected from r->uri = /mnt/var/www/html/example/web/index.php
[Tue Sep 13 08:49:52 2016] [debug] core.c(3078): [client 127.0.0.1] redirected from r->uri = /mnt/var/www/html/example/web/index.php
[Tue Sep 13 08:49:52 2016] [debug] core.c(3078): [client 127.0.0.1] redirected from r->uri = /mnt/var/www/html/example/web/index.php
[Tue Sep 13 08:49:52 2016] [debug] core.c(3078): [client 127.0.0.1] redirected from r->uri = /blog
[Tue Sep 13 08:49:52 2016] [debug] net/instaweb/Apache/mod_instaweb.cc(384): [client 127.0.0.1] ModPagespeed OutputFilter called for request /mnt/var/www/html/example/web/index.php
[Tue Sep 13 08:49:52 2016] [debug] net/instaweb/Apache/mod_instaweb.cc(405): [client 127.0.0.1] Request not rewritten because: request->status != 200 (was 500)
[Tue Sep 13 08:49:52 2016] [debug] mod_deflate.c(687): [client 127.0.0.1] Zlib: Compressed 625 to 385 : URL /mnt/var/www/html/example/web/index.php
[Tue Sep 13 08:49:53 2016] [error] [client 127.0.0.1] Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace., referer: http://www.example.com/blog
[Tue Sep 13 08:49:53 2016] [debug] core.c(3072): [client 127.0.0.1] r->uri = /mnt/var/www/html/example/web/index.php, referer: http://www.example.com/blog
[Tue Sep 13 08:49:53 2016] [debug] core.c(3078): [client 127.0.0.1] redirected from r->uri = /mnt/var/www/html/example/web/index.php, referer: http://www.example.com/blog
[Tue Sep 13 08:49:53 2016] [debug] core.c(3078): [client 127.0.0.1] redirected from r->uri = /mnt/var/www/html/example/web/index.php, referer: http://www.example.com/blog
[Tue Sep 13 08:49:53 2016] [debug] core.c(3078): [client 127.0.0.1] redirected from r->uri = /mnt/var/www/html/example/web/index.php, referer: http://www.example.com/blog
[Tue Sep 13 08:49:53 2016] [debug] core.c(3078): [client 127.0.0.1] redirected from r->uri = /mnt/var/www/html/example/web/index.php, referer: http://www.example.com/blog
[Tue Sep 13 08:49:53 2016] [debug] core.c(3078): [client 127.0.0.1] redirected from r->uri = /mnt/var/www/html/example/web/index.php, referer: http://www.example.com/blog
[Tue Sep 13 08:49:53 2016] [debug] core.c(3078): [client 127.0.0.1] redirected from r->uri = /mnt/var/www/html/example/web/index.php, referer: http://www.example.com/blog
[Tue Sep 13 08:49:53 2016] [debug] core.c(3078): [client 127.0.0.1] redirected from r->uri = /mnt/var/www/html/example/web/index.php, referer: http://www.example.com/blog
[Tue Sep 13 08:49:53 2016] [debug] core.c(3078): [client 127.0.0.1] redirected from r->uri = /mnt/var/www/html/example/web/index.php, referer: http://www.example.com/blog
[Tue Sep 13 08:49:53 2016] [debug] core.c(3078): [client 127.0.0.1] redirected from r->uri = /mnt/var/www/html/example/web/index.php, referer: http://www.example.com/blog
[Tue Sep 13 08:49:53 2016] [debug] core.c(3078): [client 127.0.0.1] redirected from r->uri = /favicon.ico, referer: http://www.example.com/blog
[Tue Sep 13 08:49:53 2016] [debug] net/instaweb/Apache/mod_instaweb.cc(384): [client 127.0.0.1] ModPagespeed OutputFilter called for request /mnt/var/www/html/example/web/index.php, referer: http://www.example.com/blog
[Tue Sep 13 08:49:53 2016] [debug] net/instaweb/Apache/mod_instaweb.cc(405): [client 127.0.0.1] Request not rewritten because: request->status != 200 (was 500), referer: http://www.example.com/blog
[Tue Sep 13 08:49:53 2016] [debug] mod_deflate.c(687): [client 127.0.0.1] Zlib: Compressed 625 to 385 : URL /mnt/var/www/html/example/web/index.php, referer: http://www.example.com/blog
仮想ホスト構成を介してwwwを非wwwにリダイレクトし、問題を解決しました。
<virtualhost>
ServerAdmin [email protected]
ServerName yoursite.com
ServerAlias www.yoursite.com
DocumentRoot /var/www/yoursite.com/public_html
ErrorLog ${Apache_LOG_DIR}/error.log
CustomLog ${Apache_LOG_DIR}/access.log combined
# You must your the <directory> container. For more information see filesystem containers
# http://httpd.Apache.org/docs/current/sections.html#virtualhost
<directory />
# You more than likely can the remove the <ifModule> container as your Rewrite
# Engine is probably turned on in your main server config file
# (check here: /etc/Apache2/Apache2.conf) but it is here for structure.
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
</IfModule>
# Redirects WWW URL's to Non-WWW URL's
<IfModule mod_rewrite.c>
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_Host} ^www\.(.+)$ [NC]
RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L]
</IfModule>
# If there is a specific directory within your Virtual Host that you wanted to
# modify, you would have to nest another <directory> container within the root directory
# of virtual Host previously declared with reference to the directory.
<directory /some-directory>
# your rules would go here.
</directory>
</directory>