我几乎开发了一个完整的网站,并且没有实现mod_rewrite是愚蠢的。我现在希望这样做,并做了一个测试页面。 mod_Rewrite工作得很好,但我遇到了所有imaegs链接到新页面URL的问题,例如:
www.mysite.com/county/Kent.html
来自
www.mysite.com/sector.php?county=kent
效果很好,但是当我在新链接上时,图片的网址会更改为此。
mysite.com/county/images/widMot.png
好像'images'文件夹位于'county'文件夹中,实际上并不存在。是否有重写规则,将忽略此图像链接更改?或者我缺少的东西?
编辑:根据要求:
...
RewriteEngine On
RewriteRule ^county/([^/]*)\.html$ /sector.php?county=$1 [L]
...
编辑:答案发布的答案非常好,并解决了图像问题,但后来我遇到了一个问题,我的css文件放在/ images /目录之后。 Ofc一个简单的解决办法就是将它们放在那里,但是没有别的办法吗?
答案 0 :(得分:1)
请查看<base>
HTML标记。
http://www.w3schools.com/tags/tag_base.asp
它允许您定义网站的基本网址,之后,任何像/images/someimage.png
这样构建的链接都会引导您访问根目录的images/
。
编辑:
更具体地说,所有以正斜杠/
开头的相对URL将在域名后立即开始。
答案 1 :(得分:0)
尝试类似:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule YOUR REWRITE RULE
</IfModule>
除非请求的URL是服务器上的实际文件,否则应将所有内容传递给重写规则。