【问题标题】:Creating SubDomains to Absolute Paths with .htaccess使用 .htaccess 创建绝对路径的子域
【发布时间】:2010-10-26 20:43:57
【问题描述】:

嘿,我的主人真是太糟糕了。由于某些奇怪的原因,在 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 中添加异常

【问题讨论】:

  • 如果您的虚拟主机很糟糕,请换一个新的虚拟主机。

标签: .htaccess mod-rewrite httpd.conf


【解决方案1】:

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

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

我不确定这是否可行(从不需要自己测试),但它比尝试将位于 webhost 指定的目录之外的文件定位为域文件的位置更有可能起作用。

祝你好运!

【讨论】:

    【解决方案2】:

    试试这个规则:

    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 的每个请求都被重定向到这个特定的虚拟主机。

    【讨论】:

      猜你喜欢
      • 2012-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-19
      • 2011-10-28
      • 1970-01-01
      • 1970-01-01
      • 2019-02-08
      相关资源
      最近更新 更多