mod_rewrite漂亮的URL不会停留

时间:2013-02-23 08:03:24

标签: apache mod-rewrite

我需要我的网址

  

/ crescenty /的名称

重定向到

  

/crescenty/profile.php?player=的名称

我已经使用了这个mod_rewrite代码

RewriteEngine on
RewriteRule ^([a-z]+)$ /crescenty/$1/ [NC,R]
RewriteRule ^([a-z]+)/$ /crescenty/profile.php?player=$1 [NC,R]

但是有一个小问题,URL不会停留,它会一直回到

  

/crescenty/profile.php?player=的名称

我尝试在最后一行使用上面的mod_rewrite代码作为[NC,L],URL保持我想要的方式

  

/ crescenty /的名称

但页面没有正确显示(css似乎不适用)

请帮忙!

1 个答案:

答案 0 :(得分:1)

这可能是因为您的链接被定义为相对于当前目录

当您重写网址时,它的级别低于原始网址(/ crescenty / vs / crescenty / name / )。这意味着将相对于第二个目录级别查找资源,这当然不起作用。

通过在链接中添加前导斜杠,将资源网址更改为使用相对于网络根目录的网址。

例如更改< img href =“ images / mying.jpg ”/>到< img href =“ /images/mying.jpg ”/> (注意领先的斜线)。