我遇到了受.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时是否有正确的链接文件方式。
答案 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