0
我試圖通過我的.htaccess重定向頁面,但它似乎並沒有工作。將特定的動態網址重定向到更漂亮/簡單的網址?
舊頁:5 /達因/ Q =客戶%20reference & F = 1,1,1,1,1,1 & C = 10,10,10,10,10,10 & S = 1,1 ,1,1,1,1,1 & ST = 1
新頁:/客戶參考/
認爲這將是如此簡單:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^q=customer(?:[\ +]|%20)reference&f=1$ [NC]
RewriteRule ^dyn/$ /1? [R=301,NE,NC,L]
但事實並非如此似乎工作。是因爲原始網頁的動態網址嗎?
此外,我還嘗試了在.htaccess中直301重定向。這似乎並沒有工作,要麼:
redirect 301 /dyn/?q=customer%20reference&f=1,1,1,1,1,1&c=10,10,10,10,10,10&s=1,1,1,1,1,1,1&st=1 /customer-references/
而另一個失敗的嘗試是這樣的:
RewriteCond %{QUERY_STRING} ^customer%20reference&f=1,1,1,1,1,1&c=10,10,10,10,10,10&s=1,1,1,1,1,1,1&st=1$
RewriteRule ^$ http://www.domain.com/customer-references/? [R=301,L]
然後,我試圖在這個變化:
RewriteCond %{HTTP_HOST} ^domain.com
RewriteCond %{QUERY_STRING} ^q=customer%20reference* [NC]
RewriteRule ^(.*)$ http://www.domain.com/customer-references/ [R=301,L]
我需要逃跑out&符號或空間(%20)?
嗯,似乎沒有工作。我不需要重新啓動Apache爲了這個被拾起我做? – Keefer
@Keefer它可能你的.htaccess沒有啓用。在你的.htaccess中加入一些垃圾,例如'asdfasdfwerwer',看看是否會給你一個500錯誤。如果是的話,請參閱http://stackoverflow.com/questions/8990378/why-rewriterule-in-htaccess-does-not-have-effect解決方案 –
。htaccess絕對啓用並正在使用。我有幾個主動301重定向,一些緩存控制的東西,等等,這一切工作正常。 – Keefer