0

php/mysql でカスタム cms を使用してサイトを作成しています。

次のようにレイアウトされています。

MYSQL データベース テーブル名 ID、タイトル、説明、キーワード、コンテンツ

CMs DBに接続し、テーブルの内容を一覧表示 IDを取得 タイトル、説明、キーワード、内容を編集 DBに保存

Web サイト DB に接続します。ここで、title=home です。

phpページの例

<?php //connect to database ?>
<html>
<title><?php echo $title;?></title>
<meta name="description" content="<?php echo $description; ?>" >
<meta name="keywords" content="<?php echo $keywords; ?>" >
<body>
<?php echo $content; ?>
</body>
<?php include_once("footer.php"); ?>

したがって、ページに接続してタイトルを指定すると、データベースに接続され、テーブルから適切な行が取得され、ページが表示されます。たとえば、次のようになります。

http://www.mysite.com/index.php?title=home

サイトのホームページを表示します。

ユーザーがhttp://www.mysite.com/homeにアクセスするように、URL からindex.php?title=を削除しても変数を渡す方法はありますか?

.htaccessファイルを編集することであると思いますが、よくわかりません?

4

1 に答える 1

2

mod_rewrite を使用してそれを行うことができます。これを .htaccess に入れてください:

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^([A-Za-z0-9-]+)/?$ index.php?title=$1 [L]

これらの行は、 http ://www.mysite.com/varまたはhttp://www.mysite.com/var/のような各 URLをhttp://www.mysite.cm/index.php?title=varにリダイレクトします。

このリダイレクトは透過的です。

URL 書き換えと mod_rewrite に関するドキュメントを参照して、これらの行を最もよく理解し、独自の行を作成できるようにすることをお勧めします。

于 2012-07-25T15:59:43.510 に答える