目前这是我的.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
答案 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]
第一个例子是迄今为止最灵活的例子,因为它不会干扰任何静态文件,例如图像等。