【发布时间】:2011-01-07 00:57:52
【问题描述】:
有很多使用 .htaccess 将 www 添加到 url 的代码示例,但它们通常仅限于使用 http。有没有人有一个例子说明如何让它在这两种情况下工作?
【问题讨论】:
标签: apache http .htaccess mod-rewrite https
有很多使用 .htaccess 将 www 添加到 url 的代码示例,但它们通常仅限于使用 http。有没有人有一个例子说明如何让它在这两种情况下工作?
【问题讨论】:
标签: apache http .htaccess mod-rewrite https
当然:
RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
第二个条件检查 HTTPS 环境变量(on 或 off)是否设置为 on 并捕获附加的 s,然后可以使用 %1 .如果不匹配,%1 只是一个空字符串。
【讨论】:
在 .htaccess 中使用此代码,它将同时添加 https 和 www
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
【讨论】: