【问题标题】:Mod_rewrite swf file to another directorymod_rewrite swf 文件到另一个目录
【发布时间】:2012-01-26 12:45:29
【问题描述】:

我在一个客户的网站上工作,该网站曾经通过产品代码将所有 .swf 文件放在目录中,例如。 g18/g18_flashfile.swf 但现在我已将它们移至 assets/flash/g18_flashfile.swf

由于外部站点热链接到该文件,我已尝试将请求 mod_rewrite 到新位置。这只是错误 500s

RewriteRule ^([^/]+)/([^.]+)\.swf$ assets/flash/$1/$2\.swf [L]

我也不能只做重定向,因为我已经在使用以下内容了

RewriteRule ^(.*)/$ product.php?ref=$1 [L]

任何帮助都会很棒,因为我在这个问题上摸不着头脑。

编辑

更奇怪的是当我这样做时

RewriteRule ^([^/]+)/([^.]+)\.swf$ assets/flash/$1/$2\.html [L]

它可以工作(显然它是 404,因为没有 .html 文件)但重写工作。有谁知道 swf 是否是 mod_rewrite 中使用的某种术语?

【问题讨论】:

  • 更奇怪的是,当我这样做时

标签: regex apache mod-rewrite url-rewriting rewrite


【解决方案1】:

正则表达式

^([^/]+)/([^.]+)\.swf$

匹配g18/g18_flashfile.swfassets/flash/g18_flashfile.swf。由于L 标志might not work as you expected,这是一个问题。

只需更改正则表达式,使其与您重写的路径不匹配:

RewriteRule ^([^/]+)/([^/.]+)\.swf$ assets/flash/$1/$2\.swf [L]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-20
    相关资源
    最近更新 更多