2012-07-25 42 views
0

我在php/mysql中創建一個帶有自定義cms的站點。在php中傳遞一個沒有?=的變量(可能是.htaccess)

它的佈局,如:

MySQL數據庫 表名 ID,標題,描述,關鍵詞,內容

的CM 連接到數據庫,目錄表的內容 獲取ID 編輯標題,描述,關鍵字,內容 回到DB

網站 連接到數據庫,在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

將二展示網站的主頁。

有從URL中移除的index.php?標題=,仍然傳遞變量的一種方式,因此用戶將訪問http://www.mysite.com/home

我認爲這是通過編輯的.htaccess文件,但我我不確定?

+2

使用mod_rewrite,有一個[看](http://www.sitepoint.com/guide-url-rewriting/) – 2012-07-25 15:45:07

+0

就像一個示例CodeIgniter使用這樣的URL通過它的[URI路由](http:// codeigniter.com/user_guide/general/routing.html)。 – 2012-07-25 15:48:24

回答

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] 

這些線路將每個URL像http://www.mysite.com/varhttp://www.mysite.com/var/重定向到http://www.mysite.cm/index.php?title=var

這種重定向是透明的。

我建議你看一些關於URL重寫和mod_rewrite的文檔,以最好地理解這些行,並能夠自己創建。

相關問題