Zend Framework:将西里尔文URL路由到静态文件

时间:2012-10-04 17:07:06

标签: .htaccess zend-framework

这是我的网址:

  

http://site.com/presentations /тест-тест.ppt

演示文稿是公用文件夹中的文件夹,但是当我打开此链接时出现此错误:

  

指定的控制器无效(演示文稿)

这是我的.htaccess文件:

SetEnv APPLICATION_ENV production


RewriteEngine On
#RewriteBase all4you/public/
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
RewriteRule !\.(js|ico|gif|jpg|png|css|swf|html|pps)$ index.php [NC,L]


order allow,deny
allow from all

这是我的谷歌iframe:

<iframe class="school-ppt-material-cont" src="http://docs.google.com/gview?url=<?= $fileSrc ?>&embedded=true" frameborder="0"></iframe>

那是$fileSrc,但如果演示文稿名称是西里尔文,那么google查看器无法打开文件,但如果文件名为no-cyrillic(exp。'test'),则google查看器可以打开文件:

$fileSrc = 'http://mysite/presentations/тест-тест.ppt';
$fileSrc = 'http://mysite/presentations/test-test.ppt';

2 个答案:

答案 0 :(得分:0)

你是否以正确的方式配置mod_rewrite?不应将文件重定向到index.php。我的.htaccess文件示例:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

答案 1 :(得分:0)

将您的上一条规则改编为

RewriteRule !\.(js|ico|gif|jpg|png|css|swf|html|pps|ppt)$ index.php [NC,L]