我试图让.htaccess重写我的网站的网址。例如:.htaccess在我不想要的时候重写我的网址!
/Lessons/PhrasalVerbs/PVList/bringup
成为
/index.php?page=Lessons/PhrasalVerbs/PVList/bringup
这似乎是一个比较普遍的愿望,于是四处寻找互联网后,我想出了(读bemusedly复制)这一点:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ http://www.example.com/index.php?page=$1 [L,QSA]
现在原样,工作的事情,但它是第二,不是第一个网址,出现在酒吧。现在,如果我的最后一行改变从
RewriteRule ^(.*)$ http://www.example.com/index.php?page=$1 [L,QSA]
到
RewriteRule ^(.*)$ /index.php?page=$1 [L,QSA]
现在的地址栏看起来不错,但该网站从寻找正确失去其大部分的格式和图像的...(unfortuntely去我不能发布图片或图片链接...)
另外,如果我点击,例如,链接到“弹出”页面再次,该URL从
/Lessons/PhrasalVerbs/PVList/bringup
去
到
/Lessons/PhrasalVerbs/PVList/Lessons/PhrasalVerbs/PVList/bringup
所以这有点重演。
这可能正是清楚,我在mod_rewrite的完全没用,我非常困惑。由于这似乎是.htaccess的一个相当普遍的用法,我希望有人能指出我愚蠢的错误!
嘿谢谢!这有助于大幅度清理事情。我继续使用基本元素,它工作。我不完全明白你的意思是“但我不会那样做,因为它会影响所有相对URL而不仅仅是相对URL路径。”但知道编程,它可能会回来咬我在后面。现在该网站运作。再次感谢! – 2011-03-08 13:24:31
@迈克尔贝珊:我的意思是,新的基本URL也适用于像'foo'(仅查询)或'#foo'(仅片段)的网址? – Gumbo 2011-03-08 14:32:47