Php .htaccess所有分页的一般规则

Php .htaccess所有分页的一般规则,php,.htaccess,Php,.htaccess,如何从http://domain.com/recent?page=2(原始页面为http://domain.com/?id=recent&page=2)是否使用.htaccess?(我需要所有页面的一般规则)thanx的帮助 RewriteRule (.+)?page=([0-9]+) ?id=$1&page=$2 看看正则表达式和你可以在谷歌上找到的例子;) 将重写规则更改为: RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQ

如何从
http://domain.com/recent?page=2
(原始页面为
http://domain.com/?id=recent&page=2
)是否使用.htaccess?(我需要所有页面的一般规则)thanx的帮助

RewriteRule (.+)?page=([0-9]+) ?id=$1&page=$2

看看正则表达式和你可以在谷歌上找到的例子;)

将重写规则更改为:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^([^/]+)/?$ index.php?id=$1 [L,QSA]

关键更改是使用
QSA
标志,该标志将保留原始查询字符串,即使在添加
id=$1

后也不会工作,因为查询字符串在RewriteRule中不可用。啊,是的。所以他需要一个类似于recent-2的url,而不是recent?page=2。编辑:可能有以下内容:RewriteCond%{QUERY_STRING}page=(.+),您需要对该页面变量做什么?我使用.htaccess生成(RewriteRule^([^/]+)$index.php?id=$1)该页面:(原始)是最近的第二个页面,但我不确定您为什么需要在这里使用.htaccess规则。您只需在php代码中使用
$\u GET['page']
访问页面变量即可。我已经这样做了,但由于某些原因,变量为空。我想我现在理解了您的问题,请检查我的答案。