2011-07-27 62 views
2

我想知道我需要在.htaccess中執行以下操作。如何使用.htaccess和mod_rewrite創建動態頁面

當別人叫我的一個網頁,例如:

http://www.mydomain.com/cooks/New-York_NY.html 
http://www.mydomain.com/cooks/Plantation_FL.html 

,它會創建從一個叫cookscities.php文件飛這些頁面。

然後頁面cookscities.php會從城市和州的URL中提取值並將其放置在頁面上。

因此,對於樣本請求頁面:http www.mydomain.com/cooks/New-York_NY.html我的頁面cookscities.php在頁面內容城市值中插入URL的值,但刪除「 - 」(如果有)並且還將狀態置於2個字母。

所以頁面標題會說:http://www.sitepoint.com/guide-url-rewriting/

回答

0

這通常是通過使用mod_rewrite完成烹飪/並調用cookscities.php,將「/ cooks /」後面的部分作爲GET變量val傳入。

在cookscities.php你可以有:

<?php 
list($city, $state) = explode('_', $_GET['val']); 
$city = str_replace('-', ' ', $city); 

echo "Find Cooks in $city $state"; 
?> 
1

在.htaccess中添加:

RewriteEngine on 
RewriteRule /cooks/(.*)$ http://mydomain.com/cookscities.php?val=$1 [L] 

這與/開頭的網址,匹配

Find Cooks in New York NY 
+0

你爲什麼爆炸,而不是分裂它分爲上的網址多個'GET'參數首先配置'RewriteRule'? – Treffynnon

+0

@Treffynnon:沒有特別的原因。重寫規則中的2個匹配也可以工作。 – qbert220

+0

@ qbert220我需要在頁面上發佈什麼$城市,它會寫紐約,但在另一個地方,我需要它寫谷歌地圖新+約克,我該怎麼做? – Gonzalo