Ama*_*ngh 3 apache .htaccess mod-rewrite
我是一个重写url的新手,我已经重写了我的网址,但它导致了页面中使用的所有相对路径的问题,如
<link href="style/style.css" rel="stylesheet">
<link href="images/icon.png" type="images/ico" rel="icon" />
<img src="images/test.png" id="test">
Run Code Online (Sandbox Code Playgroud)
即使我已经为他们应用了以下重写规则,但我仍然在firebug控制台中找到404错误(第一个正在工作,但第二个不适用于relatvie)
RewriteEngine On
RewriteRule ^raipur/([A-Za-z0-9-]+)/([0-9]+)$ /viewRestaurant.php?raipur=$1&id=$2
RewriteRule ^raipur/([A-Za-z0-9-]+)/([A-za-z]+)/ /$2/
Run Code Online (Sandbox Code Playgroud)
我的控制台截图

我甚至已经将我的重写规则调试到htaccess测试程序中,并根据需要在那里工作
您的链接都是相关链接."images/icon.png"而不是"/images/icon.png".因为您的网址已更改其网址基础:
/viewRestuarant.php
Base: /
Run Code Online (Sandbox Code Playgroud)
至
/raipur/something/1234
Base: /raipur/something/
Run Code Online (Sandbox Code Playgroud)
当浏览器看到如下链接时:images/icon.png它需要在其前面添加一个基本URL,以便知道资源的位置.默认情况下,它使用主机和基于它在位置栏中看到的URL.由于这显然不是这些资源中的任何一个,您需要将链接设置为绝对URL:/images/icon.png或者http://example.com/images/icon.png在页面标题中添加明确的相对URL基础(<head> </head>标记之间):
<base href="/" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1031 次 |
| 最近记录: |