swf文件由于.htaccess而不可访问


swf file is not accessible because of .htaccess

我有一个工作在MVC模式下的网站,现在我正试图使用一个带有JavaScript的swf文件来进行supercookies,但服务器不提供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文档。http://httpd.apache.org/docs/current/mod/mod_rewrite.html或者看看mod_rewrite上的一些教程http://www.sitepoint.com/guide-url-rewriting/