我的.htaccess文件中有以下内容:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]*)/$ /index.php?p=$1 [L]
这会更改
中的网址http://domain.com/index.php?p=101
到
http://domain.com/101/
这一切都很好。但!在我的index.php中,我有一段代码来列出这样的链接:
//getting links
$sqlLinks = "SELECT pid, linkh1 FROM pages WHERE draft= '0' AND pid > 100 ORDER BY linkh1 ASC";
$query = mysqli_query($myConnection, $sqlLinks) or die (mysqli_error());
$Links = '';
while ($row = mysqli_fetch_array($query)) {
$pid = $row["pid"];
$linklabel = $row["linkh1"];
$Links .= '<li><a href="http://domain.com/index.php?p=' . $pid . '">' . $linklabel . '</a></li>>
当我点击或将鼠标悬停在某个链接上时,它仍会显示
http://domain.com/index.php?p=101 link.
我不明白的是如何将自动的所有链接显示为:
http://domain.com/101/
http://domain.com/102/
http://domain.com/103/
etc...
答案 0 :(得分:3)
.htaccess文件路由传入请求。
要重写外向链接,为什么不正确格式化呢?
$Links .= '<li><a href="http://domain.com/' . $pid . '">' . $linklabel . '</a></li>'
答案 1 :(得分:0)
mod rewrite只负责重写你的请求。
它与您在网站上输出的HTML代码无关。
有些模块可以进行后期处理和处理,但它们很少见
通常的方法是按照您希望的方式打印链接