.htaccess
我想为根目录和管理目录使用一个文件。
在尝试拥有干净的 URL 时,我想admin/index.php
在管理员位于 URI 中时使用该文件。否则使用根目录index.php
。
这就是我所拥有的,它非常适合第一个变量(例如 localhost/admin/users),但是如果我放置第二个变量(例如 localhost/admin/users/add_user)会导致 404。
请帮助或简化,我正在拔头发...
RewriteEngine on
# Remove trailing '/'
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/$ /$1 [R,L]
RewriteRule ^admin/?$ /admin/index.php
RewriteRule ^admin/([a-zA-Z0-9-]+)/?$ /admin/index.php?controller=$1 [QSA]
RewriteRule ^admin/([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)/?$ /admin/index.php?controller=$1&method=$2 [QSA]
RewriteRule ^admin/([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)/?$ /admin/index.php?controller=$1&method=$2&id=$3 [L,QSA]
RewriteRule ^([a-zA-Z0-9-]+)/?$ /index.php?controller=$1 [QSA]
RewriteRule ^([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)/?$ /index.php?controller=$1&method=$2 [QSA]
RewriteRule ^([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)/?$ /index.php?controller=$1&method=$2&id=$3 [QSA]