我使用了一个生成器使我的SEO友好的htaccess重写,在这里。
RewriteRule ^([^/]*)/([^/]*) /detail.php?type=$1&?id=$2 [L]
输出应为www.site.com/type/id
现在,重写工作和页面重定向很好,但网站上的图像不再显示,它们都被打破...... :(图像的URL是正确的但似乎它只是不想加载,任何帮助?是否应该有另一个重写规则来取消这个做其他的东西?如果是的话,那是什么?
答案 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>