可以这样做吗?无论在哪个页面或目录下显示page=$1
,都会被重写/重定向到/$1
例如:
file.php / 1 将 file.php?page = 1
dir / file / 2 是 dir / file?page = 2
dir / file.php?name = something / 3 将是 dir / file.php?name = something& page = 3
这是我到目前为止所拥有的:
RewriteCond %{THE_REQUEST} ^[A-Z]+\s.+\.php\sHTTP/.+
RewriteCond %{QUERY_STRING} ^&page=([0-9-]+)/?$
RewriteRule ^(.+)\.php$ $1/%2 [R=301,L]
RewriteRule ^(.*)$ $1.php/$2
答案 0 :(得分:1)
要涵盖以 / 123 结尾的URI路径,我们可以使用此规则:
RewriteRule ^(.+)/([0-9]+)$ /$1?page=$2 [QSA,L,R]
所以:
要涵盖在实际查询字符串末尾附加的 / 123 ,我们可以使用此规则:
RewriteCond %{QUERY_STRING} (.*)/([0-9]+)$
RewriteRule ^(.+)$ /$1?%1&page=%2 [L]
所以: