2013-03-07 57 views
0

我知道这可能是一个经常被问到的问题,我寻找的答案,但不能拿出任何答案我的情况。我假设这是因为我没有找出正确的搜索条件,所以我很抱歉如果这是多余的......谢谢你的时间!htaccess:重写 - 但保持网站资源?

我使用.htaccess将我的URL重写为更加用户友好的格式。这就是我想要做的全部事情,如果有一个更好的方法来做到这一点,我会很感激学习!

无论如何;我将localhost/room/2改写为index.php?p = room & id = 2。这就像一个魅力。

RewriteRule ^room/([0-9]*)$ /index.php?p=room&id=$1 [L] 

您可能已经可以告诉我的问题:我正在使用room/room_number创建一个虚拟文件夹。所以,当我 - 例如 - 包括使用IMG-标签的图片,那SRC属性被改写为好,以适应工作目录的服务器已经被认为是在不是向

localhost/img/image.jpg 

的它要求

localhost/room/img/image.jpg 

这显然不是正确的位置。所以我的问题是;如何将网址重写为友好且用户友好的网页同步重新将网页资源重定向到其原始路径?

回答

1

相对于根目录使用的路径通过与斜线前面加上路径:

<img src="/img/image.jpg" /> 
+0

我的天啊,谢谢你!得到的爱 - 并在同一植物你的手掌牢牢地在自己的脸上 - 当修复这很简单。 – ProudOne 2013-03-07 23:29:47

1

另一个(和相当标准)的解决这个问题是添加的RewriteCond,以便将规则从来都不是当请求的资源真正存在时应用。

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^room/([0-9]*)$ /index.php?p=room&id=$1 [L]