url   rewrite   影响路径问题困惑

url   rewrite   影响路径问题困惑

url rewrite 影响路径问题困惑

Example:
把 index.php?action=view&id=1 重写为 view/1

RewriteRule ^view/([0-9]+)?$ index.php?action=view&id=$1

html:
<a href="index.php?action=view&id= <?=$id?>">view </a>

问题

1. 影响图片、连结路径
  访问http://www.abc.com/xyz/view/1后出错:
  路径变了view/之下
  那么连结便会出错为view/index.php?action=view&id=1

2. 不能使用根目录 <a href="/index.php?action=view&id=1">view </a>
  如果是在子目录下便出错 domain/subfolder
  会变了 <a href="domain/index.php?action=view&id=1">view </a>
  而不是 <a href="domain/subfolder/index.php?action=view&id=1">view </a>


解决方法
1. 使用绝对路径
 
  a. 路径由服务端输出前端url连结
  ==============================================================
  php:
  $url="http://www.abc.com/xyz/";
  或
  $url="xyz/";

  html:
  <a href=" <?=$url?>index.php?action=view& <?=$id?>">view </a>
  ==============================================================
 
  b. url连结由服务端制作及输出
  ==============================================================
  php:
  $url="http://www.abc.com/xyz";
  或
  $url="xyz/";

  $view_url=' <a href="'.$url.'/index.php?action=view&id='.$id.'">view </a>';

  html:
  <?=$view_url?>
  ==============================================================

2. 不影响目录结构的rewrite,用 - 代替
 
  RewriteRule ^view-([0-9]+)?$ index.php?action=view&id=$1


对于不懂写程式的人来说,在板面外观改动时,哪个较好?

方法1a好像很复杂
方法1b不能变化,加html attribute困难,如title="xxx",转为图片连结不能

方法2,如果必须使用/做重写的情况下

很困惑啊,有没有好的解决方法啊?

不知发哪区才好,html css ? apache ? 如发错区,请见谅
看不懂LZ问题的描述,汗
参阅 UrlRewrite 文档

RewriteBase  章节.