如何禁止img文件重写?

时间:2013-10-23 02:56:18

标签: php .htaccess

我的电脑上的域名是:http://www.laji.com
www文件夹下有2个文件

的.htaccess

Options +FollowSymLinks
RewriteEngine on
RewriteBase /

# All other pages
# Don't rewrite real files or directories
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^.*(\.css|\.js|\.gif|\.png|\.jpg|\.jpeg)$
RewriteRule ^(.*)$ index\.php?main_page=$1&%{QUERY_STRING} [L]

的index.php

<?php echo $_GET['main_page'] ?>

当我访问http://wwww.laji.com/xxx.jpg时(这个jpg不存在),它重写为index.php?main_page = xxx.jpg,但我想让它显示404信息,不需要重写,为什么我的htaccess代码不起作用?

1 个答案:

答案 0 :(得分:0)

你可以尝试改变:

RewriteCond %{REQUEST_URI} !^.*(\.css|\.js|\.gif|\.png|\.jpg|\.jpeg)$

为:

RewriteCond %{REQUEST_URI} !\.(css|js|gif|png|jpg|jpeg)$

让我知道它是否有效。

如果不能正常工作,我想您可能需要添加一行(在.htaccess的顶部附近),如下所示:

ErrorDocument 404 "Not found!"

如果你使用它,你可以添加这样的自定义错误404文件(而不是引号中的上述文字):

ErrorDocument 404 /error_404.html

参考:Set web server handle 404 errors for some file types using .htaccess (ErrorDocument 404 + rewrite rules)