Php htaccess是';I don’我没有做我想做的事

Php htaccess是';I don’我没有做我想做的事,php,.htaccess,Php,.htaccess,如果我使用直接链接“administration/members.php?list=view&page34,它可以工作……但是不,不是htaccess重写,而是total bs。帮帮我?关于重写规则,你必须记住它们是正则表达式匹配器。你的问题是这个模式 #### ADMINISTRATION PANEL #### RewriteRule ^administration/main administration/index.php [L]

如果我使用直接链接“administration/members.php?list=view&page34,它可以工作……但是不,不是htaccess重写,而是total bs。帮帮我?

关于重写规则,你必须记住它们是正则表达式匹配器。你的问题是这个模式

#### 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
将匹配此URL

^administration/members/list
在此规则之前

http://example.com/administration/members/list/page34
我建议您在第一组模式上放置一个下线锚(
$
),如果这是它们真正匹配的模式,例如

^administration/members/list/page([^/]*)$
我还建议您使用
QSA
标志,以免丢失任何额外的查询字符串信息

使现代化 更好的办法是将第一组规则与其分页等价物相结合

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] 
这会像这样结束

RewriteRule ^administration/members/list(/page(\d+))? administration/members.php?list=view&page=$2 [L,QSA]

试试这个网站:@Mike,它什么也没说……它只是说调试,并没有真正说明是否有问题。@user3615435它向我展示了到底是什么问题。你的第一组模式太通用了。它们会在以后的模式之前匹配请求。你能截屏吗,看不到吗?我是当时最大的新手到了.htaccess。现在要测试了,几分钟后我会告诉你的!所以我切换了list=view,所以现在它的view=list..现在可以工作了:)谢谢,我也看了你的EOL示例和你更新的帖子。我真诚地感谢你抽出时间来帮助我!
administration/members/list        => administration/members.php?list=view&page=
administration/members/list/page34 => administration/members.php?list=view&page=34