301通过.htaccess重定向 [英] 301 redirect via .htaccess

查看:114
本文介绍了301通过.htaccess重定向的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想从 http://example.com/contact-us 重定向到 http://example.com/contact-us/offices
我在下面的代码中写了我的.htaccess:

I want to redirect from http://example.com/contact-us to http://example.com/contact-us/offices
I have written following line in my .htaccess:

重定向301 / contact-us / http://example.com/contact-us/offices


Redirect 301 /contact-us/ http://example.com/contact-us/offices

但是当我访问 http://example.com/contact-us ,然后重定向到 http://example.com/contact-us/offices/offices/offices/offices/offices/offices/offices/offices/offices/offices/offices/offices/offices/offices/offices/offices/offices/offices/offices/office es /

But when I visit to http://example.com/contact-us then it redirects to http://example.com/contact-us/offices/offices/offices/offices/offices/offices/offices/offices/offices/offices/offices/offices/offices/offices/offices/offices/offices/

推荐答案

您正在使用以下规则:

Redirect 301 /contact-us/ http://example.com/contact-us/offices

这将重定向以 / contact-us / 开头的每个URL为 / contact-us的新URL / offices 。由于重定向URL也以 / contact-us / 开头,因此重定向将反复发生,从而导致重定向循环。为了避免这种情况,请使用具有正则表达式支持的 RedirectMatch ,以便您可以控制匹配模式。

That is redirecting every URL that starts with /contact-us/ new URL that is /contact-us/offices. Since redirecting URL also starts with /contact-us/ therefore redirect will happen again and again causing a redirect loop. In order to avoid this situation use RedirectMatch that has regex support so that you can control the matching pattern.

RedirectMatch 301 ^/contact-us/?$ http://example.com/contact-us/offices

在测试此更改之前,请不要忘记清除浏览器缓存。

Don't forget to clear your browser cache before testing this change.

这篇关于301通过.htaccess重定向的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆