我(有时)以某种方式成功管理.htaccess文件,但需要帮助。
我想同时达到以下目的
最后,每个链接,无论它是如何起源的,都应以https://www.domain.com/开头,以/ original_request_directory_or_file_if_any结束
我可以获得#1,没问题
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain.com$
RewriteRule ^/?$ "http\:\/\/www\.domain\.com\/" [R=301,L]
我可以得到#2没问题,它与#1
一起工作RedirectMatch 301 ^/site/$ http://www.domain.com/
到目前为止我无法实现的是#3
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
当我启用上面的代码时,我发现重定向循环错误的浏览器错误。
期待一个解决方案(因为我确信这是可能的,我只是不知道如何。)
提前谢谢大家!
答案 0 :(得分:1)
如果您将所有内容重定向到https,请避免在重新定向到http。
之前RewriteEngine on
RewriteRule ^site/? https://www.domain.com/ [R=302,L]
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^domain.com$
RewriteRule ^ https://www.domain.com%{REQUEST_URI} [R=302,L]
当一切正常时,将[R = 302,L]更改为[R = 301,L]