PHP mod_rewire整个网站,并重写图像URL


PHP mod_rewire entire site, and rewriting image URLs?

我几乎已经开发了一个完整的网站,没有实现mod_rewrite是愚蠢的。我希望现在就这么做,并做了一个测试页面。mod_Rewrite工作得很好,但我遇到了所有图像都链接到新页面URL的问题,例如:

www.mysite.com/county/Kent.html

来自

www.mysite.com/sector.php?county=kent

它工作得很好,但当我在新的链接上时,图像的URL会变成这样。

mysite.com/county/images/widMot.png

就好像"images"文件夹在"country"文件夹中一样,而实际上并没有;不存在。是否有重写规则,将忽略此图像链接的更改?或者我错过了什么?

编辑:按要求:

...
RewriteEngine On
RewriteRule ^county/([^/]*)'.html$ /sector.php?county=$1 [L]
...

编辑:答案发布的解决方案非常好,解决了图像问题,但我后来遇到了css文件放在/images/目录后面的问题。Ofc的一个简单解决方案是把它们放在那里,但没有其他方法吗?

请查看<base> HTML标记。

http://www.w3schools.com/tags/tag_base.asp

它允许您定义网站的基本URL,之后,任何像/images/someimage.png一样构建的链接都会将您引导到根目录的images/

编辑:更具体地说,所有以正斜杠/开头的相对URL都将在域名之后立即开始。

尝试以下操作:

<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteRule YOUR REWRITE RULE
</IfModule>

应该将所有内容传递给重写规则,除非请求的URL是服务器上的实际文件。