2012-04-03 20 views
0

私は自分の問題を書き換えています。 以下、私は何をしようとしているのか、そして私が得ている結果は何かを詳しく説明しています。今回は非常に明確になることを願っています。サンプルページはこちらwww.broadcast2world.com/samples.phpです。 ページに表示されているすべてのリンクとデータはデータベースから取得されています。ここで、特定の動画の「詳細情報」リンクをクリックして、ソーシャルコントロールを行うとします。その動画の特定のhrefは<a href="video.php?pid='.$id.'">としてトリガーされます。それは私が$ pageidに変数を使用してURLはPHPの.htaccessファイルで書き換えます

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

を使用して変数にそのIDをキャッチし、私は最終的にその特定のビデオのためのページを準備するクエリを実行形式のURLを介してhttp://www.broadcast2world.com/video.php?pid=66.

をそのIDを渡します。私のSEOの男の必要性は、フォーマットwww.broadcast2world.com/video/name-of-the-video内のURLは何

ここで問題があるのは、私がmod_rewriteの修正案をBen氏が説明してくれれば、私はその名前をそのIDにリンクする方法を知ることができないということです。私は上記のようにビデオのための特定のURLを作成しながら、私が修正しなければならないものがなければならないと確信しています。しかし、私は本当に何が分からないのですか?おかげで再びあなたの素晴らしいサポートの代わりにIDの

答えて

3

のために、あなたはその後、タイトルに基づいてデータベースを検索する必要があります。ここで

はあなたが必要としているものです。あなたはURLに置くことに適しているname-of-the-videoを保存するここであなたのvideosテーブルのカラムを追加する必要があります

の.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.sから取得することができますサポートスクリプトを取得するために、URLにその余分な「ビデオ」は追加されません。このページはhttp://www.broadcast2world.com/videos/avitas-videoで見ることができます。ちょうどaboutusのようなすべてのリンクでも、追加の/ videos/ –

+0

@CodeRoadが追加されていることに気がつきました。更新情報を参照して、リソースがファイルやディレクトリでない場合に限ってリダイレクトを適用する条件を指定します。 – Starx

0

UPDATEすべての動画が必要で、name-of-the-videoを各動画に固有の値に設定してください。それ以降、idではなく名前でビデオを取得するのが簡単になります。