使用.htaccess创建子域到绝对路径

时间:2009-05-17 15:05:12

标签: .htaccess mod-rewrite httpd.conf

嘿,我的主人非常可怕。由于一些奇怪的原因,在cPanel中创建子域根本不起作用,并且它们的支持行总是很忙。我以为我可以通过使用.htaccess解决这个问题。我确定这并不难,但我对mod_rewrite有点新意,并且在过去的5个小时内搜索不多。继承人的情况:

/ home / user / public_html会自动重定向到http://www.example.com

由于我在public_html中使用CMS,因此已经在.htaccess中添加了规则,以便将example.com/之后不熟悉的任何内容重定向到“找不到页面”

/ home / user / subdomain需要重定向到http://subdomain.example.com

我应该如何创建子域重定向到绝对路径?或者如何在我的.htaccess中添加例外

2 个答案:

答案 0 :(得分:2)

我怀疑你是否能够让你的子域在你的public_html文件夹之外运行(虽然我不是服务器管理员)。通常,这需要DNS修改或调整服务器的配置。您是否尝试过创建子目录并重写对子域的调用?例如,它放在public_html目录中的.htaccess中:

RewriteCond %{HTTP_HOST} ^subdomain\.example\.com$
RewriteRule (.*) /subdomain/$1 [L]

我不确定这是否可行(从不需要自己测试),但它更有可能比尝试将目标位于webhost指定的目录之外的文件定位为域名文件的位置。 / p> 祝你好运!

答案 1 :(得分:1)

尝试此规则:

RewriteCond %{REQUEST_URI} !^/home/user/
RewriteCond %{HTTP_HOST} !^www\.example\.com$
RewriteCond %{HTTP_HOST} ^([^/.]+)\.example\.com$
RewriteRule ^ /home/user/%1%{REQUEST_URI} [L]

但是您的网络服务器已经需要配置,以便 foobar .example.com的每个请求都被重定向到此特定的虚拟主机。