dsfb20227
2018-11-29 11:30
浏览 59
已采纳

如何使用htaccess在codeigniter中重定向URL?

I am using codeignator and I have to redirect URL. I have two URL which are as follows

https://example.com/contact-us/ 
https://example.com/about-us/who-we-are/

I don't have any contact and about-us/who-we-are/ controller name or view in my codeignator project.

Let's talk about exist URL

I am removing the index.php and controller name from the URL.

So my old URL is

https://example.com/index.php/Menu_control/aboutus

Now new URL is

https://example.com/aboutus

//$route['(:any)'] = 'Menu_control/$1';//remove the controller name

Now when user enter the URL https://example.com/contact-us/ then it should be redirect on https://example.com/aboutus/

Same as on my second URL https://example.com/about-us/who-we-are/ to redirect on https://example.com/services/

I tried some code in .htaccess but it's not working for me.

Redirect 301 "https://example.com/contact/" "https://example.com/aboutus/"

Would you help me out in this issue?

图片转代码服务由CSDN问答提供 功能建议

我使用的是codeignator,我必须重定向URL。 我有两个URL如下

  https://example.com/contact-us/ 
https://example.com/about-us/who-we  -are / 
   
 
 

我没有 contact about-us / who-we-are / 我的codeignator项目中的控制器名称或视图。

让我们谈谈存在的URL

我从中删除index.php和控制器名称 URL。

所以我的旧网址是

  https://example.com/index.php/Menu_control/aboutus
   
 
 

现在新网址

  https://example.com/aboutus

//$route ['(  :any)'] ='Menu_control / $ 1'; //删除控制器名称
   
 
 

现在,当用户输入URL https:// example时。 com / contact-us / 然后它应该重定向 https://example.com/aboutus/

与我的第二个URL相同 https://example.com/about-us/who-we-are/ 重定向 https://example.com/services/ \ n

我在.htaccess中尝试了一些代码,但它不适合我。

  Redirect 301“https://example.com/contact/”“https  ://example.com/aboutus/“
   
 
 

你能帮我解决这个问题吗?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • dtn51137 2018-11-29 13:30
    已采纳

    Finally I found my answer. I don't know it's best or not but solved my issue.

    I added code in .htaccess

    RewriteRule ^contact-us/ https://example.com/aboutus [R=301,L]
    RewriteRule ^about-us/who-we-are/ https://example.com/services/ [R=301,L]
    

    When user enter URL https://example.com/contact-us/ then it will redirect on https://example.com/aboutus

    点赞 打赏 评论
  • doujie7497 2018-11-29 12:11

    Adding a RewriteRrule to the top of the .htaccess after the RewriteBase / file solved the problem.

    RewriteRule ^foo/$ /foo/bar [R=301,L]
    
    点赞 打赏 评论
  • dousuochu7291 2018-11-29 17:23

    The Apache Redirect directive should work. I think the failed attempts at using it are due to syntax mistakes. The second argument (the one after the status) needs to be a URL-path, not a URL. A subtle, but important distinction.

    Try these in .htaccess

    Redirect 301 "/contact" "https://example.com/aboutus"
    Redirect 301 "/about-us/who-we-are" "https://example.com/services"
    

    And, as I'm sure you know, but I feel compelled to point out, make sure the "alias" module (mod_alias) is enabled.

    点赞 打赏 评论

相关推荐 更多相似问题