我正在使用Zend Framework,所以我正在引导一个名为index.php的文件。当然,我不希望图像被引导,所以我添加了一个.htaccess文件。这就是它的样子
/application
/library
/public (this is the root of the site)
/images
/js
.htaccess
index.php
这就是我的.htaccess所写的内容:
RewriteEngine on
RewriteRule !\.(js|ico|gif|jpg|png|mp3|mov|css)$ index.php
这基本上是说如果它不以.js / .ico / etc结尾,那么将请求发送到index.php。它在我的本地主机上运行得很好,但是当我开始实际将它放在网上时,它却没有。它只是将所有内容路由到index.php,而不管请求的结束。当mywebsite.com/images/wizard.gif应该只显示图片时,它会尝试加载图像控制器,这不是我想要它做的。
可能出现什么问题?我知道它正在阅读.htaccess。它正在读我的正则表达式错了吗?为什么一个apache服务器读错了,而另一个服务器读错了?任何帮助都会很棒。
答案 0 :(得分:0)
如果您想尝试一下,这是我的.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]
基本上它会检查以确保请求不是目录,符号链接或真实文件,然后将其发送到index.php。否则,它将提供对文件/目录的直接访问