3

没什么好说的,因为我想试着简单地解释一下。

有没有办法创建一个 .htaccess 来做这些事情:

example.com > http://www。例子.com

http://example.com > http:// www 例子.com

https://example.com > https:// www。例子.com

我的意思是这样的:

  1. 如果它的http,它去http + www
  2. 如果它的 https 它转到https + www
  3. 如果域前面没有任何内容,则转到http + www

我试图让它与另一个代码一起工作:

RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$
RewriteRule ^(.*) http://www.%{HTTP_HOST}/$1 [R=301]

该代码几乎可以正常工作,唯一错误的是,当它的https://example.com重定向到http:// www。例子.com

4

2 回答 2

2

将您的代码替换为:

RewriteCond %{HTTPS}s on(s)|
RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
于 2012-06-04T23:02:14.940 回答
2

如果这不起作用,您可以为 https 和 http 编写单独的规则:

RewriteCond %{HTTPS} !on
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.xplayrs.com/$1  [L]

RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ https://www.xplayrs.com/$1  [L]
于 2012-06-05T02:34:27.100 回答