2016-05-24 5 views
2

Как я могу удалить префикс URL значение, т.е. слизняка = от URL, есть ли процесс, пожалуйста, помочь, если есть я попытался с помощью str_pos, но не работаетУдалить префикс URL SLUG = от URL

мой URL является http://localhost/blog/?slug=what-is-lorem-ipsum

, что я ожидал http://localhost/blog/what-is-lorem-ipsum

вот мой код

<?php 
include('connect.php'); 
if(isset($_REQUEST['slug'])){ 
    $sql = "SELECT * FROM `posts` WHERE `blog_slug` = '".$_REQUEST['slug']."'"; 
    $result = mysql_query($sql) or die("MySQL Error: ".mysql_error()); 
    $num_rows=mysql_num_rows($result); 
    if($num_rows>0){ 
     while($rows = mysql_fetch_array($result)){ 
      echo "<h3><a href='http://localhost/blog/?slug=".$rows['blog_slug']."'>".$rows['blog_title']."</a></h3>"; 
      echo "<p>".$rows['blog_con']."</p>"; 
     } 
    } else { 
      echo "Post Not Found."; 
    } 
} else { 
    $sql = "SELECT * FROM `posts`"; 
    $result = mysql_query($sql) or die("MySQL Error: ".mysql_error()); 
    $num_rows=mysql_num_rows($result); 
    if($num_rows>0){ 
     while($rows = mysql_fetch_array($result)){ 
      echo "<h3><a href='http://localhost/blog/?slug=".$rows['blog_slug']."'>".$rows['blog_title']."</a></h3>"; 
     } 
    } else { 
      echo "Post Not Found."; 
    } 
} 
?> 
+1

Что вы ищете называется [mod_rewrite] (https://www.google.ro/?q=mod_rewrite) –

+0

да скажите webeng дальнейшему процессу – Jimmy

ответ

0

вы можете использовать str_replace и удалить? слизняка = от URL.

$url = "<h3><a href='http://localhost/blog/?slug=".$rows['blog_slug'] 
$url = str_replace("?slug=", "", $url); 
echo $url ." >".$rows['blog_title']."</a></h3>"; 

или просто удалить «? Slug =» из строки.

$url = "<h3><a href=http://localhost/blog/".$rows['blog_slug']; echo $url ." >".$rows['blog_title']."</a></h3>"; 
-1

Вы можете использовать функцию explode() принять, что вы хотите, а затем воссоединиться разделенные миры:

$url = "http://localhost/blog/?slug=what-is-lorem-ipsum" 
list($one, $two) = explode("?slug=", $url); 
echo $one.$two;//will echo: http://localhost/blog/what-is-lorem-ipsum 
+0

да, но он должен сказать, что не найден, потому что у него получается ответ - ему нужно позвонить – Jimmy

1

Как и другие отметили, вы будете нуждаться некоторые правила перезаписи, например, с модулем Apache mod_rewrite. Поместите это в файл с именем .htaccess:

RewriteEngine On 
RewriteRule ^blog/(.+)$ /index.php?slug=$1 [L] 

Это Перенаправление как /blog/test123 к index.php?slug=test123, вам, безусловно, необходимо изменить его в соответствии с вашими требованиями, после этого, вы можете повторить новые URLs с PHP.

Подсказка: Это довольно распространенная задача, и, вероятно, лучше работать с какой-то рамки, то есть с Wordpress, Slim, CodeIgniter или Laravel. Кроме того, пожалуйста обновление к mysqli_ -функции или PDO, как mysql_ было Устаревшие веков назад ...

Смежные вопросы