Htaccess:使用https:// www。例外情况

时间:2015-09-09 09:07:21

标签: apache .htaccess

我想将我网站上的每个请求重定向到 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 =问题。这应该是在后台挖掘。

0 个答案:

没有答案