2015-06-27 124 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吗?因为如果你这样做的话,有很多插件可以帮助你在服务器级自动重定向,而无需你自己做所有的重定向,这对大网站来说可能是一个痛苦的屁股......