我们在网站上启用了https,并在管理部分启用了301。
但问题在于类别网址。假设我们选择http:// www.testsite.com/category.html,它将重定向到主页。所以经过一番搜索,我找到了一个解决方案,告诉我添加
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https:// %{HTTP_HOST}%{REQUEST_URI} [L,R=301]
之后
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
在.htaccess
现在,此网址http:// www.testsite.com/ category.html重定向到https:// www.testsite.com/category.html。 但对于此网址http:// testsite.com/ category.html,它会重定向到主页。我认为需要对上述代码进行一些调整。请有人帮我这个。
答案 0 :(得分:1)
看起来你只是想强迫WWW并强制使用HTTPS。虽然这通常应该在虚拟主机配置中完成,但我可以理解这是不是一个选项。
解决方案很简单,如下:
# Start the Rewrite Engine
RewriteEngine On
#Set the base url to / unless you're in a subdirectory, so not modify this.
RewriteBase /
#Redirect all requests to WWW.
RewriteCond %{HTTP_HOST} ^testsite\.com
RewriteRule (.*) http://www.testsite.com/$1 [R=301,L]
# If requests are made on port 80, rewrite to HTTPS which will server over port 443.
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://testsite.com/$1 [R,L]
如果您只想重定向特定的子目录或页面,只需将路径附加到上述条件和规则。