我需要有关重写规则的帮助。
我有这样的网址结构 - index.php?page=team&id=45
但我也有index.php?page=news&page=1
或者没有参数 - index.php?page=download
....
为每个页面参数制作重写规则是否可行?
例如:index.php?page=news&page=25
- > /news/25
和index.php?page=team&id=45
- > /team/45
我有这个重写规则RewriteRule ^([a-zA-Z0-9]+)$ index.php?page=$1 [QSA]
,但它只更改& page =而不是其他参数。
谢谢你的帮助。
答案 0 :(得分:1)
是的,你可以这样做。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\ /+index\.php\?page=(team|news)&(?:id|page)=([^\s&]+)
RewriteRule ^ %1/%2? [R=301,L]
RewriteRule ^team/([a-zA-Z0-9]+)/?$ index.php?page=team&id=$1 [QSA,L]
RewriteRule ^news/([a-zA-Z0-9]+)/?$ index.php?page=news&page=$1 [QSA,L]