我正在尝试设置我的 htaccess 文件来完成以下两件事:
它需要删除www。来自任何域 它需要确保所有域都使用 https
目前这个文件控制了3个域,但未来可能很容易达到几十个,所以它需要可扩展
我在另一篇文章中找到了这个解决方案
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
但我在 Safari 中收到以下错误:尝试打开“<a href="https://example.co/" rel="nofollow">https://example.co/”时发生了太多重定向。如果您打开一个页面,该页面被重定向以打开另一个页面,然后该页面又被重定向以打开原始页面,则可能会发生这种情况。
此外,为了将所有 http 流量重定向到 https,我发现了以下代码:
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
但是当我访问http://example.co时,它会重定向到 localhost。
这是完整的代码,以防其他相关!
<IfModule rewrite_module>
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1$1 [R=301,L]
RewriteCond %{REQUEST_URI} !^/css/ [NC]
RewriteCond %{REQUEST_URI} !^/img/ [NC]
RewriteCond %{REQUEST_URI} !^/modules/ [NC]
RewriteCond %{REQUEST_URI} !^/scripts/ [NC]
RewriteCond %{REQUEST_URI} !^/index.php [NC]
RewriteRule .* /index.php [L]
</IfModule>
任何帮助都会很棒 - 谢谢!