我刚刚在我的网站上创建了一个子域,主要是因为我想要一个特定的地址。
可以说我的网站是:http://website.com
我的子域是http://sub.website.com
其主文件夹位于/home/username/public_html/sub/
当我输入子域地址时,地址突然变为http//website.com/sub/
如何保留子域地址?
丹尼斯的编辑:
我有一条指导所有人的规则http://www.website.com
to http://website.com
I use
RewriteEngine on
Redirect to non-www
RewriteCond %{HTTP_HOST} !^(website\.com)?$
RewriteRule (.*) http://website.com/$1 [R=301,L]
即使我注释掉这个地址仍然会更改为
http://website.com/sub/
最诚挚的问候,
亚历山大
我想像这样的东西会起作用(未经测试):
Options FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} !^website\.com
RewriteCond %{HTTP_HOST} ^([^.]+)
RewriteRule \?cat_id=([0-9]+)&photo_id=([0-9]+) http://website.com/$1/$2/
RewriteRule ^/(.*)/(.*)/ /%1.php?cat_id=$1&photo_id=$2 [P]
注:根据文档, 选项 FollowSymLinks 需要
是一个可以覆盖以使重写工作的选项。
第一个 RewriteCond 将确保“webiste.com”主机不被重写(但
像 sub.website.com 这样的域名)。第二个匹配任何东西
直到主机名的第一个点。这两者都必须成功,如果是这样,主机
部分可在 %1 中访问。
第一个 RewriteRule 将 php 脚本的参数重写到目录路径
(在浏览器上的 URL 上看到的更改)。下一个 RewriteRule 使用[P]标志将 /xx/yy/ 形式的任何请求代理到 %1.php (我们记住的主机名)
将参数传递给 php 脚本。
正如我所说,这尚未经过测试,但希望它能让您“走向正确的方向”。
编辑:删除了[R]从第一个重写规则开始。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)