2011-11-28 74 views
1

這導致了很多頭髮拉動。我試圖重定向一個帶有查詢字符串的URL到一個靜態的URL - 我希望如果帶有查詢字符串的URL被輸入,URL實際上會改變。mod-rewrite帶查詢字符串的重定向網址到靜態url

因此,如果用戶導航到:

http://mysite.com/index.cfm?event=page.product&productid=170&languageid=en

則說明mod_rewrite會重定向到:

http://mysite.com/en/products/170

我已經在我的htaccess的文件試過這(和htaccess的作品) :

RewriteCond %{QUERY_STRING} ^event=page\.product&productid=(.*)&languageid=(.*)$ [NC] 

RewriteRule ^index\.cfm$ /%2/products/%1/ [R=301,L] 

但是,這似乎沒有工作。我看遍了所有的stackoverflow,但無法找到我在找什麼。

任何幫助極大的讚賞。

感謝, 湯姆

回答

0

很奇怪,你的代碼無法正常工作。因此,這裏是我的建議,可能把你在正確的軌道上:


(1)

請儘量使用RewriteLog指令:它可以幫助您追蹤到這樣的問題:

# Trace: 
# (!) file gets big quickly, remove in prod environments: 
RewriteLog "/web/logs/mywebsite.rewrite.log" 
RewriteLogLevel 9 
RewriteEngine On 

(2)

我最喜歡的工具來檢查正則表達式:

http://www.quanetic.com/Regex(不要忘記選擇ereg(POSIX)而不是preg(PCRE)!)

相關問題