将 /subdirectory 重定向到 /symlink/subdirectory,其中 /symlink 指向 /

redirect /subdirectory to /symlink/subdirectory where /symlink points to /

我正在基于子目录进行 drupal7 多站点设置,其中 example.com 用于主要网站和示例。com/subsite 是另一个独立的 drupal 安装。 subsite 是位于根目录中的符号链接,也指向根目录以授予子站点对 drupal 核心文件的访问权限。

现在我必须通过示例使静态内容可用。com/subsite/static,所以我在根目录中创建了一个静态目录。一切正常。

问题是,那个例子。com/static 现在也可以访问了,我想阻止它。

我试图将所有请求重定向到 /static 到 /subsite/static,导致行为不一致和重定向循环。

目录结构:

/
/{various drupal directories}
/subsite -> /
/static

重写规则:

RewriteRule ^/static/(.*)$ /subsite/static/ [R,L]

提前谢谢

这是你想要的吗?

RewriteBase /    
RewriteRule ^static/(.*)$ /subsite/static/ [L,R=301]
RewriteRule ^subsite/static/(.*)$ /static/ [L]
  • 在第一行中,我们将所有对 /static/ 的调用重定向到 /subsite/static/
  • 在第二行中,我们将对 /subsite/static/ 的所有调用重写为 /static

如果它不起作用,请 post 你的整个 .htaccess 文件。

我通过使用重写条件修复了重定向循环,之前应该想到了。

RewriteCond %{REQUEST_URI} !^/subsite/(.*)$
RewriteRule ^static/(.*)$ /subsite/static/ [L,R=301]

谢谢@florian-lemaitre 试图帮助我