希望这是一个简单的网址。我有一个非常基本的.htaccess,将/admin
(或/admin/etc
)的任何请求重写为/_admin/index.php
。到目前为止好:.htaccess重写所有'其他'网址
#Options All -Indexes
RewriteEngine On
RewriteBase /admin
RewriteRule ^admin/$ /_admin/index.php [QSA]
RewriteRule ^admin$ /_admin/index.php [QSA]
RewriteRule ^admin/(.+)$ /_admin/index.php [QSA]
我也希望是一个通用的“追赶一切”的规则重写任何其他 URL(/users
,/turnips/
,/some/other/path
等)回/index.php
我似乎无法让它工作 - 它的server error 500
或/admin
也被重写到根页面。我确信我只需要用RewriteCond
做些事情,但我无法弄清楚。
谢谢!
尝试在每个重写规则之前添加:'RewriteCond%{REQUEST_URI!!index \ .php [NC]',以停止错误。 – 2013-02-18 11:11:51
@faa这似乎没有改变任何东西。只是为了澄清 - 我列出的.htaccess文件确实很好地工作。我只需要添加一个额外的规则,可以捕获任何不是'/ admin'的URL:所以'/ users'和其他东西都会被重写为站点根目录中的'/ index.php'(而/ admin /'仍然指向'/ _admin/index.php') – Kai 2013-02-18 11:31:22