我有一个针对许多不同项目的业余爱好网站,并希望每个项目都拥有自己的子域名,如foo.domain.com,bar.domain.com等。
我将Drupal与Domain Access模块一起使用,这意味着所有子域都应该指向Drupal的基本安装,然后模块会识别请求来自哪个子域并根据该页面提供页面。
现在,由于这只是一个爱好项目,我将它保存在免费的共享主机帐户上,这意味着一些限制:
对我而言,似乎唯一的选择是.htaccess魔法 我需要一个.htaccess文件放入subdomain director(y / ies)来告诉apache:
感谢您的帮助!
TL; DR
如何告诉Apache使用来自另一个目录的数据(即/ public_html /而不是/ public_html / subdomain /)而不进行重定向或对标题进行任何更改? HTTP_HOST需要完好无损
谢谢!
答案 0 :(得分:0)
答案 1 :(得分:0)
试试这个
RewriteEngine On
RewriteCond %{HTTP_HOST} !^example\.com$ [NC]
RewriteRule ^(.*)$ http://example.com%{REQUEST_URI} [R=301,L]
答案 2 :(得分:0)
试试这个。
RewriteEngine On
RewriteCond %{HTTP_HOST} sub\.example\.com$ [NC]
RewriteRule ^sub/(.*)$ $1 [L]
不确定它是否可行,因为我不知道您的主机如何配置服务器以将子域映射到其他文件夹。
否则你可以尝试代理标志,但这不会在php中设置正确的http_host变量。
你确定Drupal没有不同的方法来进行多次安装。我知道WP确实可以选择为所有表名使用前缀,这样多个安装可以使用相同的数据库共存,只要它们使用不同的前缀即可。不确定Drupal安装的大小,以及主机提供的磁盘空间量。