我正在客户的网站上工作,过去通过产品代码在目录中包含所有.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]
它有效(显然它是404s,因为没有.html文件),但重写有效。有谁知道swf是否是mod_rewrite中使用的某种术语?
答案 0 :(得分:1)
正则表达式
^([^/]+)/([^.]+)\.swf$
匹配g18/g18_flashfile.swf
和assets/flash/g18_flashfile.swf
。由于L
标志might not work as you expected,这是一个问题。
只需更改正则表达式,使其与重写的路径不匹配:
RewriteRule ^([^/]+)/([^/.]+)\.swf$ assets/flash/$1/$2\.swf [L]