2012-02-13 116 views
0

道歉,但我的URL重寫的知識是有限的!障礙.htaccess

我所建立的網址reqwrite我們的每一個在我們的電子商務商店類別。

我有一種感覺,我設置此功能非常長篇大論的方式,將別人的頭腦檢查我有這樣做的正確方法?

理想情況下,我們希望在各級對我們所有類別隻字類別 - 而不是工具 - 列表 - 和timber-,但我不能想出一個辦法做到這一點沒有重定向導致錯誤。

這裏是我們htaccess-:

RewriteEngine On 
RewriteBase/
RewriteCond %{HTTP_HOST} !^www.xxxx.co.uk$ [NC] 
RewriteRule ^(.*)$ http://www.xxxx.co.uk/$1 [L,R=301] 

RewriteRule Product-(.*)-(.*)-(.*)-(.*)-(.*)-(.*)\.html$ /Details.cfm?Name=$1&ProdID=$2&category=$3&secondary=$4&third=$5&brand=$6 [NC] 
RewriteRule Brands-(.*)-(.*)\.html$ /Results.cfm?bname=$1&brand=$2 [NC] 
RewriteRule Tools-(.*)-(.*)\.html$ /subcat.cfm?category=$2-$1&secondary=$3 [NC] 
RewriteRule Timber-(.*)-(.*)\.html$ /subsubcat.cfm?category=56&secondary=$2-$1 [NC] 
RewriteRule Category-(.*)-(.*)-(.*)-(.*)\.html$ /subsubcat.cfm?category=$3&secondary=$2-$1 
RewriteRule List-(.*)-(.*)-(.*)-(.*)-(.*)\.html$ /Results.cfm?category=$1&secondary=$3&third=$2-$4 

RewriteRule ([^\s]+)\s(.*) $1-$2 [NC,LP,R=301] 
*//RewriteBase/
*//RewriteRule ^(.*)%20(.*)$ $1-$2 [LP,R=301,L] 

RewriteRule Festool-(.*)-(.*)\.html$ /SubCat.cfm?category=$1&secondary=$2 
RewriteRule Lie_nielsen-(.*)-(.*)\.html$ /SubCat.cfm?category=$1&secondary=$2 

任何幫助將是巨大的!

乾杯,

回答

0

一般來說,最好讓應用層的照顧URL調度的,所以你的Web服務器只是重定向一切的特定文件和ColdFusion將完成剩下的(例如通過匹配規則)。看看ColdFourse包裝http://coldcourse.riaforge.org/,以避免重蹈覆轍。 在這種情況下,你的.htaccess文件可以簡單到

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /index.cfm?course=%{REQUEST_URI} [L,QSA] 
+0

謝謝你們的幫助,汝拉,我會讀今晚並給它明天一試。我會讓你知道發生了什麼! – matthew 2012-02-13 16:40:04