Htaccess友好的SEO重写使图像停止加载?

时间:2011-12-20 20:26:12

标签: .htaccess seo

我使用了一个生成器使我的SEO友好的htaccess重写,在这里。

RewriteRule ^([^/]*)/([^/]*) /detail.php?type=$1&?id=$2 [L]

输出应为www.site.com/type/id

现在,重写工作和页面重定向很好,但网站上的图像不再显示,它们都被打破...... :(图像的URL是正确的但似乎它只是不想加载,任何帮助?是否应该有另一个重写规则来取消这个做其他的东西?如果是的话,那是什么?

2 个答案:

答案 0 :(得分:5)

您现有的规则可能会影响图片。为了防止这种情况,请使用RewriteCond指令,该指令将超出受规则影响的图像扩展等。您可以根据需要添加其他扩展。

#if its not an image, css, js etc
RewriteCond %{REQUEST_URI} !\.(gif|jpg|png|css|js|etc)$ [NC]
RewriteRule ^([^/]*)/([^/]*) /detail.php?type=$1&?id=$2 [L]

答案 1 :(得分:2)

我不确定你的.htaccess是怎样的,但这里有一些方便的规则,我正在用于我的项目,它很简单,涵盖了大部分问题:

<IfModule mod_rewrite.c>
    ############################################
    # Enable mod_rewrite
    RewriteEngine On
    RewriteBase /

    ############################################
    ## always send 404 on missing files in these folders
    RewriteCond %{REQUEST_URI} !^/(media|assets)/

    ############################################
    # never rewrite for existing files, directories and links
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-l

    RewriteRule .*$ index.php [L]
</IfModule>