我想将我网站上的每个请求重定向到 https:// www。,并将所有内容隧道传输到index.php
类似的网址有两个例外:
http://www.example.com/share/AAAAA
https://www.example.com/share/BBBBB
和
http://www.example.com/loader/AAAAA
https://www.example.com/loader/BBBBB
(AAAA和BBBB可以是任何东西)
对于这些网址,我希望它始终使用 www ,但 https 不得为必填项。他们应该在 http 和 https 上工作。 到目前为止,这是我的htaccess:
ErrorDocument 403 /403.php
RewriteEngine On
#USE HTTPS
RewriteCond %{REQUEST_URI} !^/(share/|loader/)
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=302,L,QSA]
#ALWAYS USE www.
RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?rest=$1 [L,QSA]
这适用于其他页面,但例外情况除外。 如果我输入
http://www.example.com/share/AAAAA
在浏览器中将我重定向到
https://www.example.com/index.php?rest=share/AAAAA
因此,它不仅会添加 https ,还会在网址中显示?rest内容。请注意,所有其他链接都没有发生?rest =问题。这应该是在后台挖掘。