mod_rewrite что мне не хватает? - PullRequest
0 голосов
/ 13 февраля 2011

У меня есть следующее в моем файле .htaccess:

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]*)/$ /index.php?p=$1 [L]

это меняет URL с

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...

Ответы [ 2 ]

3 голосов
/ 13 февраля 2011

Файл .htaccess направляет входящих запросов.

Чтобы переписать исходящие ссылки, почему бы просто не отформатировать их правильно?

$Links .= '<li><a href="http://domain.com/' . $pid . '">' . $linklabel . '</a></li>' 
0 голосов
/ 13 февраля 2011

Мод перезаписи только заботится о переписывании ваших запросов.

это не имеет никакого отношения к тому, какой HTML-код вы выводите на своем веб-сайте.

есть доступные модули, которые могут выполнять постобработку и заботиться об этом, но они очень редки

обычный способ - напечатать ваши ссылки так, как вы хотите, чтобы они имели

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...