【问题标题】:How do I turn dash breaks in file name into new directories with Apache mod_rewrite?如何使用 Apache mod_rewrite 将文件名中的破折号转换为新目录?
【发布时间】:2013-01-30 11:48:09
【问题描述】:

我想使用 Apache 的 mod_rewrite 来将文件名中的所有破折号视为从顶部开始的单独文件夹,反之亦然。

例如,如果有人要访问/events/booking/?id=1,则实际上会请求文件events-booking.php?id=1

我的当前脚本取自下面的 StackOverflow 帖子,它只是删除了文件的扩展名,但我也想添加上面的内容。

https://stackoverflow.com/a/1698807/2023781

任何关于如何修改我现有的 mod_rewrite 脚本块的帮助将不胜感激(不幸的是,我对正则表达式并不是很擅长)。

【问题讨论】:

    标签: apache mod-rewrite


    【解决方案1】:

    在我的脑海中,应该这样做:

    RewriteRule ^([^/]*)/([^/]*)/$ /$1-$2.php [L]

    ^ = 路径的开始

    ([^/]*) = 匹配除斜杠以外的所有字符

    $ = 路径结束

    $1$2 是路径中匹配的两个字符串。

    查询字符串应保持原样。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-08-18
      • 1970-01-01
      • 2010-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多