【问题标题】:htaccess, redirect with regex: Folder to variablehtaccess,使用正则表达式重定向:文件夹到变量
【发布时间】:2012-10-19 03:21:42
【问题描述】:

希望你能帮我解决我的小问题:

我有一个这样的网址:

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

显然我只想得到一切,直到下一个/

提前致谢

【问题讨论】:

    标签: regex .htaccess variables redirect directory


    【解决方案1】:

    . 允许匹配任何字符,$ 明确 表示您要一直匹配到字符串的末尾。

    您可以使用否定字符类代替. 并删除$。否定字符类将匹配任何字符除了斜线(^ 标记字符类否定):

    RewriteRule  ^([^/]*) script.php?param=$1 [QSA,L]
    

    由于正则表达式的重复默认是贪婪的,这将尽可能多地接收字符。这就是下一个斜线之前的所有内容。

    【讨论】:

    • 非常感谢。正是我想要的。最后.. :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-21
    • 2014-12-05
    • 2023-03-14
    • 2019-04-17
    相关资源
    最近更新 更多