RewriteRule 无法按预期工作 .htaccess

RewriteRule not working asa expected .htaccess

好的,这是我的 RewriteRule:

RewriteRule ^books/book-([0-9]+)/(.*[^/])$/? authors/book-/ [R=301,L]

所以如果有人去 www.example.com/books/book-5/some-book-title,他们将被重定向到 www.example.com/authors/book-5/some-book-title。这一点工作正常。

但是,我遇到的问题是: www.example.com/books/book-5/some-book-title/still-more-stuff/still/more/stuff 它将转发到 www.example.com/authors/book-5/some-book-title/still-more-stuff/still/more/stuff.

我希望它在 www.example.com/books/book-5/some-title/ 之后停止 <- 它应该在这里停止!!!

/some-title/ <- 之后不应允许更多参数,否则应忽略它们。

我怎样才能做到这一点?只抓取第一个参数/some-title/,否则抛出404?我认为通过放置 [^/] 位,它会在找到前向 /.

时停止

谢谢

像这样调整你的正则表达式:

RewriteRule ^books/(book-\d+/[^/]+) authors/ [R=301,L,NE,NC]

问题实际上是在您的正则表达式中存在 .*