奇怪的htaccess问题

时间:2009-08-14 02:05:57

标签: .htaccess

目前这是我的.htaccess

RewriteEngine on
#rewrite the url's
RewriteRule ^(.*)$ index.php?url=$1 [L,QSA]

所以,从索引我渲染一个模板,并给它一个网址。

通常页面看起来像这样 www.whatever.com/?url=test/page

但随着重写它 www.whatever.com/test/page

所以问题是{

我有一个网站的管理部分,我不想受此影响。 因此,/ admin需要访问文件夹树中的admin文件夹。 谢谢你的帮助

-Wes

1 个答案:

答案 0 :(得分:2)

执行此操作的最佳方法是不重写文件系统上的实际文件和目录的URL。这可以通过在规则中添加几个重写条件来实现:

RewriteCond %{REQUEST_FILENAME} !-s [OR]
RewriteCond %{REQUEST_FILENAME} !-l [OR]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?url=$1 [L,QSA]

现在,这些意味着分别仅重写以下网址:不是真实文件(大小> 0),而不是符号链接,而不是目录。

或者,您可以确保您的规则与您的管理目录不匹配:

RewriteCond  %{REQUEST_URI} !^/admin
RewriteRule ^(.*)$ index.php?url=$1 [L,QSA]

第一个例子是迄今为止最灵活的例子,因为它不会干扰任何静态文件,例如图像等。

相关问题