htaccess中的链接文件

时间:2011-07-31 04:17:53

标签: php apache .htaccess

我遇到了受.htaccess文件范围影响的页面链接文件的问题。

这是.htaccess文件:

RewriteEngine On  
RewriteRule ^tp_update/id/([A-Z0-9]+)/([A-Z]+)/?$ update_taxpayer.php?tp_id=$1&tp_type=$2 [NC,L]

我没有收到任何错误,我可以访问此页面:

tp_update/id/1234/ITP

但问题是,链接到update_taxpayer.php的所有文件也受到影响。 当我查看页面源并单击链接css文件。它说找不到文件:

<link href="../../css/style.css" rel="stylesheet" type="text/css" media="screen" />

我明白了:

tp_update/css/style.css

而不是我在上面声明的链接。

如何解决此问题?启用mod_rewrite时是否有正确的链接文件方式。

1 个答案:

答案 0 :(得分:1)

您可以使用Dragon建议的绝对链接,也可以使用<base href="absolut_base_url">

这样做会使所有相对调用从absolute_base_url开始。所以(使用你的样式示例)如果你只有css/style.css作为href,浏览器将尝试调用 http://yoursite.com/absolute_base_url/css/style.css
而不是 http://yoursite.com/absolute_base_url/tp_update/css/style.css