.htaccess 要求域的 WWW,但如果存在且没有硬编码则允许子域

标签 .htaccess redirect subdomain

我正在尝试弄清楚如何设置一组 .htaccess 规则,如果最初未指定,则强制在域前面出现“www”,但与此同时,它如果存在子域,则不会有任何影响;所有这一切都没有对任何域名进行硬编码,因此脚本可以在不同的服务器和配置之间移植。

编辑:

很抱歉,我无法在第一时间得到正确的解释。所以我需要的是:

http://example.com -> 重定向到 http://www.example.com

http://www.example.com -> 不重定向

http://subdomain.example.com -> 不重定向

最佳答案

mod_rewrite规则应该对二级域执行此操作:

RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

关于.htaccess 要求域的 WWW,但如果存在且没有硬编码则允许子域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1263170/

相关文章:

web-applications - 使用子域与内部文件夹?

.htaccess - htaccess mod_rewrite 排除图像/css

php - 在 AngularJS 页面的 .htaccess 中重定向机器人和爬虫

php - 对用户隐藏 PHP

javascript - Javascript打开另一个jsp页面的方法

node.js - 如何在 Express.js 或 Connect.js 中配置多个子域

php - .htaccess 中的查询字符串不返回双正斜杠

.htaccess - 替换长 URL 的一部分并重定向

PHP header 重定向在表单提交时不起作用

Wordpress 子文件夹安装重定向到 root