【问题标题】:htaccess rewrite using fake directory as paramshtaccess 使用假目录作为参数重写
【发布时间】:2015-06-19 07:22:32
【问题描述】:

我已经尝试对此进行大量研究,但我似乎没有做任何工作,所以我来这里寻求帮助。我正在尝试执行以下操作:

请求:/rss/40.6,-73.4

重写:/php/autoFeed.php?coords=40.6,-73.4

我的正则表达式 that matches 坐标是 ^\/rss\/([\-]?\d+\.\d{1},[\-]?\d+\.\d{1})$ 虽然我知道我不需要转义目录斜杠。还是不行:

RewriteEngine On
RewriteRule ^/rss/([\-]?\d+\.\d{1},[\-]?\d+\.\d{1})$ /php/autoFeed.php?coords=$1 [NC, L]

我需要RewriteCond吗?

【问题讨论】:

    标签: php regex .htaccess mod-rewrite


    【解决方案1】:

    您可以将您的正则表达式和规则简化为:

    RewriteEngine On
    
    RewriteRule ^rss/([^/]+)/?$ /php/autoFeed.php?coords=$1 [NC,QSA,L]
    

    为了精确匹配,您可以使用:

    RewriteRule ^rss/(-?\d+\.\d+,-?\d+\.\d+)/?$ /php/autoFeed.php?coords=$1 [NC,QSA,L]
    

    【讨论】:

    • 精确匹配似乎完美无缺(简单的匹配不正确)。
    猜你喜欢
    • 1970-01-01
    • 2023-02-14
    • 2019-05-18
    • 2016-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多