我目前的网址是:
/mod.php?name=gal&file=cati&cat=8&caturl=animals-nature&gurl=photo-gallery&offset=1
我想成功:
animals-nature-photo-gallery-8p1.html
我目前的.htaccess
RewriteRule ^([^/#$%(){}.&-]+)-([^/#$%(){}.&]+)-([1-9][0-9]*)p([1-9][0-9]*).html mod.php?name=gal&file=cati&cat=$3&caturl=$1&gurl=$2&offset=$4 [L]
我得到了正确的重写网址,但在查询字符串$ _SERVER ['QUERY_STRING']中的结果是:
/mod.php?name=gal&file=cati&cat=8&caturl=**animals**&gurl=**nature-photo-gallery**&offset=1
因为caturl =动物的$ _GET变量是假的!
请帮忙修复它。
答案 0 :(得分:0)
如果caturl
始终只有一个连字符,且gurl
也只有一个连字符,则可以使用non-greedy表达式检查
RewriteRule ^(.+?-.+?)-(.+?-.+?)-([1-9][0-9]*)p([1-9][0-9]*).html mod.php?name=gal&file=cati&cat=$3&caturl=$1&gurl=$2&offset=$4 [L]