Drupal 9多站点拆分.htaccess



我正在Drupal 9多站点上工作,我想拆分.htaccess文件,每个站点一个,以创建不同的重定向规则。

我知道可以在drupal_root/.htaccess上添加所有规则,但我更喜欢每个站点有一个.htaccess

结构为:

drupal_root/sites/site-1/

drupal_root/sites/site-2/

drupal_root/sites/site-3/

drupal_root/sites/site-4/

我想在drupal_root/sites/site-1/中添加.htaccess,在drupal_root/sites/site-2/中添加另一个不同的

我尝试在drupal_root/sites/site-1/上直接添加.htaccess,但不起作用。

# Various rewrite rules.
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.dev.{site-1}.com/test/?$ [OR] 
RewriteCond %{HTTP_HOST} ^dev.{site-1}.com/test/?$ [NC] 
RewriteRule ^(.*)$ https://www.dev.{site-1}.com/testredirect [R,L]
</IfModule>

大概是用来访问"站点-1";实际上不包含/sites/site-1/?在这种情况下,URL需要(由Apache(内部重写到这个目录(或的子目录(,以便(由Apache处理(/sites/site-1/.htaccess文件,但我不相信会发生这种情况(因为所有事情都是由根目录中的核心Drupal安装来处理的,目的是进行"多站点"安装(。

所以,我不认为你的建议是现实可行的,我担心(如果没有更多的工作(。

通常,您需要有多个";单独的";Drupal安装可以有单独的.htaccess文件。

Drupal SE网站上的以下问题似乎支持了这一点;重定向模块";以管理每个站点的重定向。

  • Drupal堆栈交换-多站点的逐站点htaccess

旁白:

RewriteCond %{HTTP_HOST} ^www.dev.{site-1}.com/test/?$ [OR] 
RewriteCond %{HTTP_HOST} ^dev.{site-1}.com/test/?$ [NC] 
RewriteRule ^(.*)$ https://www.dev.{site-1}.com/testredirect [R,L]

由于HTTP_HOST服务器变量仅包含请求中的主机名,而不包含URL路径,因此该规则无论如何都不会执行任何操作。但是,如果这个CCD_ 16文件只打算在用户向";站点-1";?

例如,它应该写为:

RewriteCond %{HTTP_HOST} ^(www.)?dev.{site-1}.com.?$ [NC] 
RewriteRule ^test/?$ https://www.dev.{site-1}.com/testredirect [R,L]

相关内容

  • 没有找到相关文章

最新更新