在我的.htaccess中使用此正则表达式:
RewriteRule ^thumbnails/([0-9]*)/([0-9]*)/(.*)$ lib/thumb.php?w=$1&h=$2&src=$3 [QSA]
在参数中传递url时遇到问题。正则表达式删除所有斜杠但只有一个。例如:
Enter: domain.com/thumbnails/200/143/http://img.youtube.com/vi/xxxxxxx/0.jpg
Result: domain.com/lib.tuhmb.php?w=200&h=143&src=http:/img.youtube.com/vi/xxxxxxx/0.jpg
注意http:。
之后只有一个斜杠有什么想法吗?
谢谢!
答案 0 :(得分:3)
这是mod_rewrite
中的预期行为,因为在/
中应用模式时,重写引擎会将多个/
删除为单个RewriteRule
。
要克服此行为,请使用RewriteCond %{REQUEST_URI}
捕获您的值,如下所示:
RewriteCond %{REQUEST_URI} ^/thumbnails/(\d+)/(\d+)/(.*)$ [NC]
RewriteRule ^ lib/thumb.php?w=%1&h=%2&src=%3 [L,QSA]