修改.htaccess路径重写以包含子目录

时间:2017-08-25 11:49:50

标签: .htaccess mod-rewrite

我目前在我的网站上设置了以下.htaccess重写规则:

RewriteEngine On
RewriteRule ^([^/d]+)/?$ index.html?id=$1 [QSA]

规则有效,如果我转到以下网址:

http://example.com/dashboard

它不会尝试找到不存在的仪表板目录,而是将URL保持原样并将用户重定向到根索引页面。从那里我只使用javascript来控制用户将看到的视图,具体取决于附加的路径。

代码完全符合我的要求,但我现在必须将我的网站移动到我们服务器上的子目录中。 URL结构现在是:

http://example.com/mysubdir/dashboard

我尝试重写我的重写规则以合并目录但是迄今为止我还没有成功.htaccess expert。我在以下方面尝试了一些东西:

RewriteEngine On
RewriteRule ^([^/d]+)/mysubdir/?$ index.html?id=$1 [QSA]

有谁能告诉我如何修改我的重写规则才能在我的子目录中工作?

1 个答案:

答案 0 :(得分:1)

你很亲密 - 这应该这样做:

RewriteEngine On
RewriteRule ^mysubdir/([^/d]+)/?$ /mysubdir/index.html?id=$1 [QSA]

在这里演示:http://htaccess.mwl.be?share=6e574cc6-90a4-54ca-b113-ce72d6eb5203