我的问题可能已被提出,但我在stackoverflow上搜索的所有问题都让我感到困惑。我正努力做到这一点,当我做“www.website.com/newest/2”时,它转到第2页,当我做“www.website.com/newest/2/3”时,它转到页面2和第3项。有用的是页面有效。如果我把“www.website.com/newest/2”转到第2页,但之后的任何内容,例如“www.website.com/newest/2/3”都不起作用。它不再继续到第3项。只有页面加载正确,但在页码不起作用后在页面上发布数字。当我做“www.website.com/newest/2/3”时,我查看了浏览器的源代码,看到任何应该显示与项目编号的GET请求有关的代码甚至不在码。这意味着我的商品/身份证号码的GET请求被破坏了。
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{HTTP_HOST} ^website\.com$ [NC]
RewriteRule ^(.*)$ http://www.website.com/$1 [L,R=301]
RewriteRule ^newest/(.+)*/?$ ./index.php?newest=$1
RewriteRule ^newest/(.+)*/(.+)*/?$ ./index.php?newest=$1&id=$2
答案 0 :(得分:0)
问题是您的(.+)*
会匹配所需的字符数来匹配。将它们改为(.+?)
。