2012-04-03 125 views
0

我正在重寫我的問題。 下面我將詳細介紹我正在嘗試做的事情,以及我得到的結果是什麼。我希望這次能夠很清楚。我在這裏有一個樣本頁面www.broadcast2world.com/samples.php。 我們在頁面上看到的所有鏈接和數據都來自數據庫。現在假設我們點擊某個視頻的鏈接「更多信息」來說明社交控制。該視頻的具體href被觸發爲<a href="video.php?pid='.$id.'">。它通過其對URL ID格式http://www.broadcast2world.com/video.php?pid=66.在PHP中通過.htaccess文件重寫URL

我趕上ID爲使用

if(!isset($_GET['pid'])){ 
    $pageid='66'; 
} 
else{ 
    $pageid=$_GET['pid']; 
} 

使用$的pageid可變的變量,我運行一個查詢,最終爲特定的視頻製作的頁面。

我的搜索引擎優化人員需要的是www.broadcast2world.com/video/name-of-the-video格式的網址。

現在的問題是,如果我做了一個mod_rewrite修正,這是由Ben下面的奇妙解釋,我無法弄清楚,如何將該名稱的視頻鏈接到它的ID。如上所述,我確信必須在創建視頻的特定網址時修改一些內容。但我真的不知道是什麼?再次感謝您的精彩支持

回答

3

而不是id,你必須根據標題搜索數據庫。

以下是您將需要的。

的.htaccess

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^videos/(.*)$ video.php?title=$1 

鏈接生成

$title = "..."; 
$title = str_replace(" ", "-", $title); //add dashes on the link 
echo "<a href="videos/$title">Click Me</a>"; 
+0

嗨Starx,它工作完美,我從數據庫中獲取數據。但是我的網頁的風格已經完全消失了。當我查看頁面的源代碼時,我注意到它不是從/js/script.js或/css/style.css獲取css或js,而是試圖從視頻/ js/script.js中獲取它們。如何確保爲獲取支持腳本,它不會在url中添加額外的「視頻」。您可以在http://www.broadcast2world.com/videos/avitas-video上查看該頁面。只是注意到,即使對於像aboutus這樣的所有鏈接,它也會添加一個額外的/ videos/ – 2012-04-03 10:32:32

+0

@CodeRoad,查看更新,只有當資源不是文件或目錄時,纔會指定應用重定向的條件。 – Starx 2012-04-03 10:37:46

0

你應該在你videos表中添加一列中,你將存儲name-of-the-video這是適合放在URL。您需要UPDATE所有視頻,並將name-of-the-video設置爲每個視頻的唯一值。從此之後,通過名稱而不是通過id獲取視頻將變得非常簡單。