我正在使用 SSL 证书运行网站。
为了优化我的 SEO,我想将所有 CNames 重定向到https://example.com。
同一个地址有4个变种: https://example.com https://www.example.com http://example.com http://www.example.com
这段代码几乎可以工作:
RewriteCond %{HTTP_HOST} ^www\.example\.com$ [OR]
RewriteCond %{HTTPS} =on
RewriteRule ^.*$ https://example.com/$0 [R,L]
但是,其中一个 URL 不会重定向。如果我只输入 example.com ( http://example.com ),则 URL 不会重定向到https://example.com。
任何人都可以用上面的代码帮助我纠正这个问题吗?
回应下面乔恩的回答。我将代码片段添加到现有的 .htaccess 文件中。由于我对 .htaccess 不熟悉,我想知道该片段周围的代码是否导致了重定向循环?
这是 .htaccess 文件,包括下面的代码段:
<IfModule mod_rewrite.c>
RewriteEngine On
# Installation directory
RewriteBase /
# Protect application and system files from being viewed
RewriteRule ^(application|modules|system|tests|sql) - [F,L]
# Allow any files or directories that exist to be displayed directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Rewrite all other URLs to index.php/URL
RewriteRule .* index.php?kohana_uri=$0 [L,QSA]
#redirect CNames to non www
RewriteCond %{HTTP_HOST} ^www\.example\.com$ [OR]
RewriteCond %{HTTPS} off
RewriteRule ^.*$ https://example.com/$0 [R,L]
</IfModule>