#### ADMINISTRATION PANEL ####
RewriteRule ^administration/main administration/index.php [L] ## Administration - Main
RewriteRule ^administration/members/list administration/members.php?list=view [L] ## Administration - User List
RewriteRule ^administration/members/reports administration/members.php?reports=view [L] ## Administration - User Reports
RewriteRule ^administration/members/banned administration/members.php?banned=view [L] ## Administration - User Banned
RewriteRule ^administration/members/list/page([^/]*)$ administration/members.php?list=view&page=$1 [L] ## Administration - User List - Pagination
RewriteRule ^administration/members/reports/page([^/]*)$ administration/members.php?reports=view&page=$1 [L] ## Administration - User Reports - Pagination
RewriteRule ^administration/members/banned/page([^/]*)$ administration/members.php?banned=view&page=$1 [L] ## Administration - User Banned - Pagination
如果我使用直接链接"administration/members.php?list=view&page34它工作.....但不,不是htaccess重写,全是废话。帮我个忙吗?
关于重写规则,您必须记住的是它们是正则表达式匹配器。你的问题是这个模式
^administration/members/list
将匹配这个URL
http://example.com/administration/members/list/page34
^administration/members/list/page([^/]*)$
我建议你在你的第一组模式上放一个EOL锚($
),如果这是他们实际匹配的,例如
RewriteRule ^administration/main$ administration/index.php [L]
RewriteRule ^administration/members/list$ administration/members.php?list=view [L]
RewriteRule ^administration/members/reports$ administration/members.php?reports=view [L]
RewriteRule ^administration/members/banned$ administration/members.php?banned=view [L]
我还建议您使用QSA
标志,以免丢失任何额外的查询字符串信息。
RewriteRule ^administration/members/list(/page('d+))? administration/members.php?list=view&page=$2 [L,QSA]
这将结束像这样…
administration/members/list => administration/members.php?list=view&page=
administration/members/list/page34 => administration/members.php?list=view&page=34