php - 如果不是子域,则更改为 www

标签 php regex apache .htaccess mod-rewrite

情节: 我实际上喜欢 www URL,但不喜欢与 www.whatever.example.com 等子域一起使用。首先,我在托管帐户上使用了两个域,因此我添加了 htaccess 重写,如下代码所示。

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

动机:一段时间后,我意识到我需要一个也指向我的托管帐户的子域。但我不想要像 www.whatever.example.com 这样丑陋的子域,但同时我想将 example.com 用户重定向到 www.example .com。 我不知道该怎么做。这里有人吗。

最佳答案

您可以使用此规则仅定位您的主域:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE]

或者,将任何子 URL 定位为“深度”3 级:

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} !^[^.]+\.[^.]+\.[^.]+$
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE]

关于php - 如果不是子域,则更改为 www,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27223169/

相关文章:

php - MySQL:理解sql代码

php - Ajax 返回随机值?

ruby - Apache 与 Ruby - Gems 问题

正则表达式 {} 解析

Apache Config - 排除子目录

python - Apache 记分板(用于服务器统计)有 Python 接口(interface)吗?

java - 使用哈希 URL 在页面加载时打开弹出窗口

PHP Excel 和 Codeigniter

javascript - jquery 代码片段来验证电话号码输入

javascript - 正则表达式或其他方式转换为 JavaScript 中的驼峰式大小写