.htaccess重写问题

.htaccess重写问题,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,我想要它,这样目录中的任何swf媒体都会被重定向到类似 http://website.com/swf.php?d=file 然后抛出http访问,将上面的链接更改为 http://website.com/file 假设我有这个文件 http://website.com/thisvideo.swf 我想把它重定向到 但是使用.htaccess将上述链接更改为 因此,当他们访问thisvideo.swf时,它不会转到直接的swf,而是带有查询的php文件(假设它通过.htaccess隐藏)

我想要它,这样目录中的任何swf媒体都会被重定向到类似

http://website.com/swf.php?d=file
然后抛出http访问,将上面的链接更改为

http://website.com/file
假设我有这个文件

http://website.com/thisvideo.swf
我想把它重定向到

但是使用.htaccess将上述链接更改为

因此,当他们访问thisvideo.swf时,它不会转到直接的swf,而是带有查询的php文件(假设它通过.htaccess隐藏)

我希望你明白我想说的,但我不知道如何做重定向的第一步,如果它的swf,或重写。

应该很简单:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} \.swf$
RewriteRule ^(.*)$ /virtual/path/to/script.php?d=$1 [NC,L]
这基本上是说“使用扩展名为
.swf
的任何URL,保持其URL不变(屏蔽它),并将请求转发到
script.php

编辑:如果您想对其严格要求,可以在
上的重写引擎下方添加以下内容:

RewriteCond ${REQUEST_FILENAME} -f
这将迫使它只重写有效文件(例如,您不会重定向任何404)

RewriteEngine On
RewriteRule ^(.*\.swf)$ /swf.php?d=$1 [QSA,L]