PHP Href处理/重写


PHP Href Handling/Rewriting

我有。htaccess设置,将重写任何到index.php的静态url。例如:

RewriteRule ^(.*)$ index.php?/$1 [L]

url: www.domain.com/home/article/news/

我对这个重写没有问题,我可以使用$_SERVER['REQUEST_URI']处理url。但是,我的链接有问题。例如:

<a href="home/article/recent">Recent News</a>

当我点击这个链接时,url将是www.domain.com/home/article/news/home/article/recent,因为href值不是以"/"开始的。

有没有办法重写我的链接在php或。htaccess?所以当我忘记把"/"在href它不会跟随当前的url?谢谢。

.htaccess不会轻易帮助你。我想说,当你添加新的路径时,它将是容易出错和难以维护的。如果你想走这条路,你应该做301,这样你的用户就不会看到那些奇怪的路径。不幸的是,这会增加重定向的延迟。

对于PHP,这取决于您如何生成输出。我想说这是可能的,但你必须生成链接,而不是直接输出HTML,这会变得很难看。

使用绝对路径当然要省力得多,而且很快就会成为习惯。