2013-10-29 116 views
-1

我對url重寫根本不熟悉,所以我可能對於知道這些東西的人來說很簡單的問題。 我有電子商務網站,目前項目的URL看起來像這樣 www.blizuecomm.net/www/item.php?id=399 &項目名稱 我得到這樣的URL與分類頁面,看起來像這樣使用.htaccess的URL重寫

上的代碼 www.blizuecomm.net/www/ITEM-NAME :
<a href="item.php?id=<?=$values[$i]['gitemid']?>&amp;<?=cleanString($values[$i]['gname'])?> 

我使用此代碼

<? 
function cleanString($string, $separator = '-'){ 
$accents = array('Š' => 'S', 'š' => 's', '?' => 'Dj', 'ð' => 'dj','Ž' => 'Z', 'ž' => 'z', 'È' => 'C' , 'è' => 'c', 'Æ' => 'C' , 'æ' => 'c'); 
$string = strtr($string, $accents); 
$string = strtoupper($string); 
$string = preg_replace('/[^a-zA-Z0-9\s]/', '', $string); 
$string = preg_replace('{ +}', ' ', $string); 
$string = trim($string); 
$string = str_replace(' ', $separator, $string); 
return $string; 
} 
?> 

我應該在.htaccess文件寫入,以獲得ULR看起來像這樣弄乾淨串或 www.blizu ecomm.net/ITEM-NAME

回答

0

最簡單的做法可能是讓它看起來像:www.blizuecomm.net/www/id/ITEM-NAME,否則您的item.php腳本不會獲得ID。這會要求你在你的文件夾www添加這在htaccess文件

RewriteEngine On 
RewriteBase /www/ 

RewriteCond %{THE_REQUEST} \ /www/item\.php\?id=([0-9]+)&([^&\ ]+) 
RewriteRule^%1/%2? [L,R=301] 

RewriteRule ^([0-9]+)/(.*)$ item.php?id=$1&$2 [L,QSA,NE] 
+0

感謝basicly它的工作原理,但我得到的結果是這樣 –

+0

www.blizuecomm.net/www/id/ITEM-NAME? id = id&ITEM-NAME我錯過了什麼或應該在代碼中搜索err?謝謝 –

+0

@sz_tech對不起,我在'%2'末尾留下了一個問號 –