2015-06-27 64 views
1

我的舊網站有問題,所以我編寫了一個新的網址。 但我不能重定向我的舊URL到新的URL。 我的舊的URL看起來像:將舊URL重定向到新的URL [codeigniter .htaccess]

http://sample.com/?m=news&e=view&id=66 

它已經共享和搜索引擎谷歌。但我完成了刪除我的主機中的舊來源。 我希望當有人點擊該鏈接,它會重定向到我的新的一頁:

http://sample.com/en/news/redirect-url-66.html 

但IDK的如何編寫htaccess.Can規則誰能告訴我該怎麼辦。 這是我的htaccess(默認笨htaccess的):

RewriteEngine on 
RewriteCond $1 !^(index\.php|resources|robots\.txt) 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php/$1 [L,QSA] 

回答

0

舊網址:

http://sample.com/?m=news&e=view&id=66 

新網址:

http://sample.com/index.php/en/news/redirect-url-66.html 

的.htaccess

RewriteEngine on 
RewriteCond $1 !^(index\.php|resources|robots\.txt) 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php/$1 [L,QSA] 

RewriteCond %{QUERY_STRING} m=([a-z]+) $1 
RewriteCond %{QUERY_STRING} e=(view) $2 
RewriteCond %{QUERY_STRING} id=([0-9]+) $3 
RewriteRule ^(.*)$ index.php/en/%1/redirect-url-%3.html? 

希望,對於工程你

+0

對不起,先生,我忘了編輯我的帖子。我想重定向的新網址是:http://sample.com/en/news/redirect-url-66.html –

+0

內部服務器錯誤先生。當我嘗試你的代碼時,我的所有鏈接,包括我的主頁:http://sample.com都是錯誤的。我只希望將1個鏈接http://sample.com/?m=news&e=view&id=66重定向到http://sample.com/en/news/redirect-url-66.html,而不是所有鏈接,其他我的新網站中的鏈接仍然使用http://sample.com/en/news/alias-id.html。我也嘗試使用控制器重定向。但我不能命名controller =?m = news&e = view&id = 66。 –

+0

我沒有工作,當我點擊http://sample.com/?m=news&e=view&id=66時,它重定向到主頁http://sample.com。我認爲問題是舊的URL有「?」字符從一開始。 –

0

你使用的是WordPress嗎?因爲如果你這樣做的話,有很多插件可以幫助你在服務器級自動重定向,而無需你自己做所有的重定向,這對大網站來說可能是一個痛苦的屁股......