好的,这是我的RewriteRule:
RewriteRule ^books/book-([0-9]+)/(.*[^/])$/? authors/book-$1/$2 [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?我认为,通过放置[^/]位,当它找到一个正向/时,它就会停止。
谢谢
发布于 2015-01-20 13:42:14
像这样调整你的横梁:
RewriteRule ^books/(book-\d+/[^/]+) authors/$1 [R=301,L,NE,NC]问题是.*实际上存在于正则表达式中。
https://stackoverflow.com/questions/28046766
复制相似问题