.htaccess URL重写文件夹

时间:2012-06-26 14:10:22

标签: .htaccess mod-rewrite url-rewriting

我的应用程序位于example.com/app,文件夹中包含signin.phpsignup.phpindex.php等。

现在客户希望在example.com/signin.php等处访问应用程序,但我想将应用程序文件保留在app文件夹中以便更好地管理。

我尝试使用它,它可以工作,但是我无法访问我在根目录中已有的文件:

RewriteCond %{HTTP_HOST} ^example\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteCond %{REQUEST_URI} !^/app/
RewriteRule (.*) /app/$1

有没有办法排除根目录中的页面受到影响?或者有更好的方法吗?

3 个答案:

答案 0 :(得分:0)

难道你不能让你的http服务器指向app app文件夹作为基础吗?

答案 1 :(得分:0)

请参阅apaches mod_rewrite的文档,查看RewriteMap指令。使用它可以轻松命名您想要的所有名称,或者您不想重写。

答案 2 :(得分:0)

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/app/
RewriteRule (.*) /app/$1

使用-f和-d可确保它不会弄乱任何现有文件或目录。