我希望你能解决我的小问题:
我有一个像这样的网址:
www.blabla.com/images/q2uj89j2fq89hf943ghf74ßgq3789fg43/blue.jpg
在“images”文件夹中,我有一个PHP Skript,它应该将字符串“images /”和下面的“/”之间的所有内容作为GET变量。所以像这样:
www.blabla/images/script.php?param=q2uj89j2fq89hf943ghf74ßgq3789fg43
目前我有以下htaccess文件:
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^(.*)$ script.php?param=$1 [QSA,L]
但是有了这个,我得到这样的东西:
www.blabla/images/script.php?param=q2uj89j2fq89hf943ghf74ßgq3789fg43/blue.jpg
显然我只想把所有东西都拿到下一个/
提前致谢
答案 0 :(得分:2)
.
允许任何字符匹配,$
明确表示您希望一直匹配到字符串的结尾。
您可以使用否定字符类而不是.
并删除$
。否定的字符类将匹配除斜杠之外的任何字符(^
标记字符类否定):
RewriteRule ^([^/]*) script.php?param=$1 [QSA,L]
由于默认情况下正则表达式重复是贪婪的,因此这将占用尽可能多的字符。直到下一个斜线,这就是一切。