htaccess - 重定向所有子目录(Ember js)

时间:2016-09-24 14:06:02

标签: apache .htaccess redirect mod-rewrite ember.js

我正在使用Ember运行我的主网站,因此我的htaccess文件设置为将所有请求重定向到我的索引页面进行路由。

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^(.*) /index.html [NC,L]

但是,我已经添加了一个名为/horror的子目录,该子目录也在Ember上运行。对domain.com/horror发出的任何请求我想再次重定向到/horror/index.html,以便正确路由。

目前,当我访问domain.com/horror时,页面会运行。但是,如果我尝试直接转到domain.com/horror/1,我会被重定向到我的主域名404页面而不是正确的/horror/路由。我需要这个/horror目录作为一个独立的站点 - 访问自己的CSS,Js和图像,而不会与主域的Ember路由器冲突。

如何配置我的.htaccess文件来处理这个问题?

1 个答案:

答案 0 :(得分:1)

您可以使用单独的规则来处理/horror/

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^/horror/index\.html$ [NC]
RewriteRule ^horror(/.*)?$ horror/index.html [L,NC]    

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.html [L]