mod_rewrite和相对的HTML链接

时间:2011-09-19 09:49:17

标签: apache mod-rewrite relative-path

我写了一个简单的mod_rewrite来转换我丑陋的URL

<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteRule news\/([^\/]+)/([0-9]+)-([^\/]+)$     news.php?id=$2
  RewriteRule (.*)/images/(.*)$                     images/$2
  RewriteRule (.*)/css/(.*)$                            css/$2
  RewriteRule (.*)/js/(.*)$                         js/$2
</IfModule>

立即出现问题,因为相对于 URL请求了所有图像,脚本和样式。所以我不得不为end-of-line添加下一个3 regex断言并添加接下来的3个规则。我要问的是这种方法是好还是消耗太多资源?我知道这可以通过绝对链接解决,但我的懒惰促使我尝试这个具有站点范围效果的解决方案。或者有更好的解决方案吗?

建议的一件事是在链接上添加斜杠。问题是该网站可以通过两个域访问:foo.combar.com/baz/qux/所以我真的不能使用它。

任何帮助将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:2)

您还可以在html文件中添加<base href=""/>,这可以为您节省images / css / js重写规则。

关于“消耗太多资源” - 当你真正获得很多访问时,它肯定会落在你的脚上。但我怀疑你会进入那个交通区域。

相关问题