0

我有一个正在运行 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 文件仍然无法访问。我应该怎么办?

4

1 回答 1

0

您需要为重写条件添加一个例外,以允许直接访问 .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/

于 2012-07-11T11:48:49.203 回答