2013-05-08 52 views
0

我一直在嘗試幾種變化來讓我的服務器重定向 - 但都似乎失敗。 :(得到我的mod_rewrite規則運行的麻煩

這是我的網址:

"meaty-monster-bikes.zz-reviews.com/monster-bikes/p1c9.html" 

現在我想在變量收集數據後

"meaty-monster-bikes.zz-reviews.com/" 

部分所以在這種情況下,我想「怪物自行車」和「p1c9」

然後使用收集到的變量服務器可以重定向到:

"zz-reviews.com/index.php?p=1&c=9&k=monster-bikes" 

我在的.htaccess文件這thried:

Options +SymLinksifOwnerMatch 
RewriteEngine On 

RewriteRule ^[\.0-9-a-z]+/([-a-z]+)/p([0-9]+)pg([0-9]+)\.html$ index.php?p=$2&c=$3&k=$1 [NC,QSA,L] 

我也試過:據我可以看到

RewriteCond %{HTTP_HOST} ^[.+].zz-reviews.com/([-a-z]+)/[.+]$ [NC] 

RewriteRule ^[\.0-9,:\/-a-z]+p([0-9]+)c([0-9]+)\.html$ index.php?p=$1&c=$2&k=%1 [NC,QSA,L] 

,都應該工作, 但是沒有做的。

這是網頁:

http://zz-reviews.com/index.php?p=1&c=9&k=monster-bikes

如果你點擊分類 「怪物自行車」

你會看到這個網址:

http://meaty-monster-bikes.zz-reviews.com/monster-bikes/p1c9.html

的htaccess沒有正確重定向。

任何人都可以看到我的錯誤嗎?

謝謝。

回答

1
RewriteRule ^([^./]+)/([a-z]+)(\d+)([a-z]+)(\d+)\.html$ index.php?$2=$3&$4=$5&k=$1 [L,NC] 

這是你所需要的規則 - 當你去到url

meaty-monster-bikes.zz-reviews.com/monster-bikes/p1c9.html

你會重定向(幕後)到這個URL

meaty-monster-bikes.zz-reviews.com/index.php?P = 1 & C = 9 & K =怪物自行車

闡釋

^([^./]+) - 在COM之後開始第一ARG($1)採取所有字符,直到/ - 這將需要在字符串「怪物自行車」

/ - URL的/字符

([a-z]+) - 由ABC字母跟隨(你可以改變它,如果還有其他嚴格的),這將採取 「P」($2

(\d+) - 通過數字遵循 - 這將採取 「1」($3

([a-z]+) - 遵循由ABC字母 - 這將採取 「C」($4

(\d+) - 由數遵循 - 這將採取 「9」($5

\.html$ - 與字符串結尾名 「.html」

重定向其與裝配參數的index.php:

index.php?$2=$3&$4=$5&k=$1 = index.php?p=1&c=9&k=monster-bikes