我正在使用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文件来处理这个问题?
答案 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]