.htaccess用子目录重写

时间:2016-03-05 13:38:29

标签: .htaccess mod-rewrite

我想将我网站的所有网址重写(不重定向)到我网站的子目录。例如:

http://example.com/example

将加载以下内容:

http://example.com/public/example

但请求http://example.com/public 加载来自public/public但来自/的内容。

我在SO上找到的答案要么通过重定向(我不想要)进行上述操作,要么不考虑上述特殊情况。

编辑:进一步澄清:

我希望我的网站上的每个请求都在public文件夹下加载,但访问者无法看到。因此,请求http://example.com/index.php将从http://example.com/public/index.php加载文件。浏览器中的URL保持不变。

1 个答案:

答案 0 :(得分:1)

请尝试以下规则:

RewriteEngine on

RewriteRule ^((?!public).+)$ /public/$1 [NC,L]

这将重写从root到/ public目录的所有请求。