我在 .htaccess 中有以下重写规则:
RewriteRule ^groups/([^/\.]+)/?$ groupdetail.php?gname=$1 [L,NC]
这需要类似于 www.example.com/groups/groupname 并调用 www.example/groupdetail.php?gname=groupname。它工作得很好。
但是 groupdetail.php 上的所有相对链接都使用 groups/作为相对路径,我不希望他们这样做。我如何避免这种情况?
例如,当用户点击 groupdetail.php?gname=groupname 上的
<a href="link.php">
链接时,他会被带到 www.example/groups/link.php。我想将用户带到 www.example.com/link.php。显然,我想让用户的 URL 看起来像“www.example.com/groups/groupname”,所以我不想使用 [R]/redirect。
最佳答案
如果像我一样在页面中有数百个相对链接,请在 <base href="">
中插入一个 <head>
并带有绝对路径(也可以使用相对路径)。您还需要将 <head>
中的 .js 文件的路径设为绝对路径,因为 IE 和 firefox 处理 base href 的方式不同。我同意这是一个烦人的问题。
关于apache - 如何在不改变相对路径的情况下使用 apache 的 mod_rewrite rewriterule,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/144651/