htaccess重定向,一切都是重定向而不是特定的请求

时间:2016-11-02 11:58:16

标签: .htaccess

我正在尝试设置一个新的项目结构。由于我的云提供商的一些限制,我需要做一些我正在努力的htaccess魔法。

项目结构如下

/ docroot =>包含我的Drupal安装 / docroot / frontend =>包含一个Angular前端 / docroot / pim =>是/ docroot的符号链接。

我们需要的是,当我们浏览example.com/pim时,它会重定向到Drupal docroot / docroot。由于云提供商的限制,我们无法将其放在/ pim文件夹中,他们建议制作符号链接。

对example.com的任何其他请求都应该转到docroot / frontend。

所以我在htaccess文件中添加了以下代码

RewriteEngine on
RewriteCond %{REQUEST_URI} !^/frontend.*$
RewriteRule !^pim($|/) http://example.com/frontend%{REQUEST_URI} [L,R=302]

目前的行为是所有请求都转到/frontend/index.php(我认为index.php来自Drupal的.htaccess,所以重定向不是干净的)但我希望对example.com的请求/ test直接发送到example.com/frontend/test 另外example.com/pim指向example.com/frontend/index.php而不是留在/ pim目录

1 个答案:

答案 0 :(得分:0)

我已经能够修复它了。 :)

RewriteEngine on
RewriteCond %{REQUEST_URI} !^/frontend.*$
RewriteCond %{REQUEST_URI} !^/pim.*$
RewriteRule ^ frontend%{REQUEST_URI} [L,R=302]

RewriteEngine on
RewriteCond %{REQUEST_URI} ^/frontend.*$
RewriteRule ^ %{REQUEST_URI} [L]