2013-07-09 45 views
0

我不是一個新的開發人員,並且已經使用.htaccess多年,但是今天我完全卡住,不知道發生了什麼。下面是我的全部htaccess文件:Htaccess問題 - 從漂亮的URL重定向到PHP版本

Options All -Indexes 

ReWriteEngine On 

RewriteRule ^page/([a-zA-Z0-9_-]+)$ page.php?pageurl=$1 
RewriteRule ^([a-zA-Z0-9_-]+)$ category.php?categoryurl=$1 
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([0-9]+)-([a-zA-Z0-9_-]+)$ product.php?category=$1&subcategory=$2&productid=$3&producturl=$4 


RewriteCond %{HTTP_HOST} www.website\.com$ [NC] 
RewriteRule ^(.*)$ http://website.com/$1 [R=301,L] 

website.com/category應該帶我到它的分類頁面,但由於某些原因的URL得到改變,彷彿htaccess的是相反的工作,我送送到website.com/category.php?categoryurl=category。

這也正是對於其他的人一樣,我的產品網頁應該是website.com/category/subcategory/123-producturl但它重定向過:

website.com/product.php/category/123 -producturl?類別=類別&子類=子類別&的productid = 123 & PRODUCTURL = PRODUCTURL

任何人有任何想法都爲什麼這樣做是什麼?

回答

0

試試這個,你還沒有添加標誌來結束HTACCESS中的行。

Options All -Indexes 

ReWriteEngine On 

RewriteRule ^page/([a-zA-Z0-9_-]+)$ page.php?pageurl=$1 [L] 
RewriteRule ^([a-zA-Z0-9_-]+)$ category.php?categoryurl=$1 [L] 
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([0-9]+)-([a-zA-Z0-9_-]+)$ product.php?category=$1&subcategory=$2&productid=$3&producturl=$4 [L] 


RewriteCond %{HTTP_HOST} www.website\.com$ [NC] 
RewriteRule ^(.*)$ http://website.com/$1 [R=301,L] 
+0

通知[L]標誌它告訴htacces來結束該規則,以便下一個規則將成爲新的URL –

+0

沒有艾哈邁德新的,遺憾的是它仍然在做同樣的事情。謝謝你指出,儘管如此,我應該永遠使用它們。 –

+1

另一個建議是刪除RewriteCond%{HTTP_HOST} www.website \ .com $ [NC] RewriteRule ^(。*)$ http://website.com/$1 [R = 301,L]並查看它是什麼確實..我認爲它是將內容重定向到website.com/,,,,,, –