使用子目录作为“第二”根

时间:2014-03-13 23:05:37

标签: regex apache .htaccess mod-rewrite

对于我公司的项目,我被指派为我们的产品创建一个前端站点。此时它位于其自己的子目录/front下,但我希望可以从根目录访问这些文件,而不会弄乱任何默认行为。

示例文件结构:

/foo
...file.php
/bar
...index.php
...login.php
/front
.../css
.../js
...index.html
...page.html

我希望能够访问/front下的文件,就好像它们甚至不在子目录下一样。所以当我去http://website.com/时,我会看到/front/index.html。我通过将其添加到.htaccess文件来完成此操作:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^$ front/$1 [L]
    RewriteRule ^(.*) front/$1 [L]
</IfModule>

问题是我现在似乎无法访问/foo/bar

我很感激我能得到的任何帮助!

1 个答案:

答案 0 :(得分:1)

你可以这样:

<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^((?!front).*)$ front/$1 [L]
</IfModule>