【问题标题】:URL rewrite for users and admin directory用户和管理目录的 URL 重写
【发布时间】:2011-04-16 08:08:38
【问题描述】:
我的网络根目录如下所示
我想做的事:
- /anything-here 类型的所有 URL 都应该转到 index.php
- /admin/anything-here 类型的所有 URL 都应转到 admin/index.php
- 进入管理部分时的用户身份验证
现在这就是我的 .htacces 中的内容
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
# For users
RewriteCond %{REQUEST_URI} !/admin/.*
RewriteRule .* index.php
【问题讨论】:
标签:
url
mod-rewrite
rewrite
【解决方案1】:
您可以添加 BasicHTTPAuthentication 部分,因为您可以在 admin .htaccess 中的多个站点上找到它
你可以使用,
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^admin/.*$ /admin/index.php [L]
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^.*$ /index.php [L]
.htaccess 基本身份验证将负责子目录中的身份验证。
【解决方案2】:
只需将前缀 admin/ 设为可选:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(admin/)?.* $1index.php