Php 由于.htaccess,无法访问swf文件

Php 由于.htaccess,无法访问swf文件,php,.htaccess,Php,.htaccess,我有一个网站在MVC模式下工作,现在我尝试使用swf文件和JavaScript来制作超级脚本,但服务器不提供swf文件。在我看来,这是因为.htaccess文件。 我已将其更改为: php_flag magic_quotes_gpc Off Options +FollowSymLinks RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !(.*)/$ RewriteRule ^(.

我有一个网站在MVC模式下工作,现在我尝试使用swf文件和JavaScript来制作超级脚本,但服务器不提供swf文件。在我看来,这是因为.htaccess文件。 我已将其更改为:

php_flag magic_quotes_gpc Off

Options +FollowSymLinks
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI}/ [L,R=301]

RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d

RewriteRule ^.*$ ./index.php [NC,QSA]

AddType application/x-shockwave-flash swf

但swf文件仍然无法访问。我该怎么办?

您需要在重写条件中添加一个例外,以允许直接访问.swf文件,也可能是swf文件所在的文件夹

我在简单的MVC站点上使用了以下内容,以允许直接访问我不希望由MVC引擎处理的文件或文件夹:

RewriteCond $1 !^(controller\.php|script\.php|images|css|js|forum|pdfs|xmls|pdf|robots|.*.swf)
RewriteRule ^(.*)$ /controller.php/$1 [L]
我认为对于您来说,最后一条重写规则应该有如下条件:

RewriteCond $1 !^(.*.swf)
RewriteRule ^(.*)$ ./index.php [NC,QSA]
您可能需要阅读mod_rewrite文档。 或者看一些关于mod_rewrite的教程