我是网络开发的新手。刚刚购买了SSL证书并进行了大量搜索以强制域名进入SSL&这是我工作的.htaccess代码
#Force non-www:
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.domain\.com [OR]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://domain.com/$1 [L,R=301]
我试图在主域的所有文件上强制使用SSL而不使用www,但是该域中任何文件夹/目录中的文件都没有
例如: 如果有人打开
domain.com or www.domain.com force to -> https://domain.com
正在通过上面的代码工作 我试图在domain.com的root目录下强制文件 像这些是清除一切的例子
domain.com/abc.php --> https://domain.com/abc.php
www.domain.com/def.php --> https://domain.com/def.php
domain.com/abc/xyz.php --> http://domain.com/abc/xyz.php
www.domain.com/abc/xyz.php --> http://domain.com/abc/xyz.php
https://domain.com/abc/xyz.php --> http://domain.com/abc/xyz.php
https://www.domain.com/abc/xyz.php --> http://domain.com/abc/xyz.php
简而言之,我试图强制域根目录中的每个文件都为NON-WWW HTTPS。 但是该域下任何方向下的任何文件都应强制到没有SSL的NON-WWW。
我尽可能地尝试了。 即使不知道.htaccess是否可以实现这一点。
答案 0 :(得分:0)
尝试:
#Force non-www:
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.domain\.com [OR]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^([^/]+)$ https://domain.com/$1 [L,R=301]
RewriteCond %{HTTPS} on
RewriteRule ^(.+/.*)$ http://example.com/$1 [L,R=301]