0

私はニュース記事のウェブサイトを持っています。この場合、任意の記事をクリックすると、そのアドレスは news.php?id=12 のようになりますが、http://paritynews.com/news/YYYY/MM/DD/ <4 桁の数字> のように表示する必要があります/見出し/。この最初の表示では、ニュース カテゴリ、次に記事投稿の日付、次に記事番号、最後に投稿の見出しが表示されます。ここにIDリンクhttp://www.monkks.com/part/parity-newsfinalpage/index.php thnx.

4

2 に答える 2

0

ここで、カスタム URL を使用するための素敵な投稿を見つけました。 http://net.tutsplus.com/tutorials/other/using-htaccess-files-for-pretty-urls/

RewriteRule を使用して、必要なタイプの URL を生成できます。

于 2013-07-18T06:05:51.603 に答える
0

この .htaccess ファイルと $_REQUEST 変数を使用します。

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php [L]

これは index.php ファイルです。実際にクエリを実行して結果を処理する必要がある箇所にコメントを追加しました。

//Routing...
$request = substr($_SERVER['REQUEST_URI'],1); //Out of the http://www.domain.com/blog/date -> blog/date is returned
$params  = explode("/", $request); //Creates an array $params = ['blog','date'];

if($params[0] == ""){
//Default Route
    $include_path = "default.html";
}else{
//If there is something in the URL that is useful
//Parse the rest of the url here
switch ($params[0]) {//The first varible Ex: 'blog' or 'news'
    case 'news':
        $article_date = join(array($params[1],$params[2],$params[3]),"-");//Formats the date for MySQL
        $id_number = $params[4];
        //Make sure to escpe the values here
        $sql = "SELECT * FROM table_name WHERE (date_column = {$article_date} AND id = {$id_number}";
        //Run the query with your perfered sql extension, mysqli or pdo
        //Handle errors
        $include_path = "news.php";
    break;
    case 'other':
        $include_path = "something_else.php";
        break;
    }
}
if(isset($include_path)){
    require($include_path);
}
?>
于 2013-07-18T06:06:29.703 に答える