0

可能有人问过我的问题,但我一直在 stackoverflow 上搜索的所有问题都让我感到困惑。我正在努力做到这一点,以便当我执行“www.website.com/newest/2”时它会转到第 2 页,而当我执行“www.website.com/newest/2/3”时它会转到第 2 页2 和第 3 项。好的是页面可以正常工作。如果我输入“www.website.com/newest/2”,它会转到第二页,但之后的任何内容,例如“www.website.com/newest/2/3”都不起作用。它不再继续到第 3 项。只有页面加载正确,但在页码之后的页面上发布数字不起作用。当我执行“www.website.com/newest/2/3”时,我查看浏览器的源代码,发现任何应该显示的与对项目编号的 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
4

1 回答 1

0

问题是您(.+)*将匹配尽可能多的字符以进行匹配。改为(.+?)改为。

于 2012-04-08T00:30:13.223 回答