【问题标题】:Change the document root for any domain to its own subdirectory将任何域的文档根目录更改为其自己的子目录
【发布时间】:2016-09-20 01:32:41
【问题描述】:

我正在尝试创建一个 .htaccess 文件,该文件会将域的文档根目录更改为我服务器上的子文件夹,而无需实际更改最终用户的 url。这是我正在尝试做的一个示例:

  • domain1.com 将在 /domains/domain1.com 中查找网络内容,但仍显示为 domain1.com
  • domain2.com 将在 /domains/domain2.com 中查找网络内容,但仍显示为 domain2.com

每个域都会指向根目录/,所以我将.htaccess 文件放在这里/.htaccess

我不想将我拥有的每个域都添加到 .htaccess 文件中,我希望它对每个出现的域都遵循这种格式。


我尝试了解 .htaccess 并自己创建一个,但是,我似乎无法做到这一点。我目前所拥有的使每个域都重定向到其子目录并给出“重定向过多”的错误。

  • 即。 domain1.com 将最终用户重定向到 domain1.com/domains/domain1.com

这是 .htaccess 文件的内容:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$
RewriteRule ^(.*)$ /domains/%1 [L]

【问题讨论】:

    标签: apache .htaccess mod-rewrite document-root


    【解决方案1】:

    不错,试试这个:

    RewriteEngine on
    # remove www, externally for consistent domains
    RewriteCond %{HTTP_HOST} ^www\.(.+)$
    RewriteRule .* http://%1/$0 [NS,L,R=301]
    # document root emulation
    RewriteCond %{HTTP_HOST} .+
    RewriteRule ^(?!domains/[^/]+/).* domains/%0/$0 [NS,L]
    

    【讨论】:

      猜你喜欢
      • 2011-08-24
      • 1970-01-01
      • 2019-03-23
      • 2011-08-03
      • 2021-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多