`
zencode
  • 浏览: 12821 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

htaccess文件301重定向方法全解

阅读更多

Redirect指令是.htaccess文件中一个非常常用的指令,它的作用是发送一个外部重定向使客户端重新跳转到一个不同的URL。

 

Redirect重定向指令有三个不同的状态参数:

 

 

第一个是permanent:永久性301重定向;

 第二个是temp:临时重定向状态码,即返回302;

 第三个是seeother:此参数表示“参见”的含义,即本资源已经被另外一个更好的资源替代了;

 

另外,还有一个gone,表示此资源已经被永久性删除了,因此,也就不存在什么跳转关系了。其后面的URL会被忽略。但一般来说,对于SEO上的用途,301永久跳转是用的最多的。

 

比如,如果希望网页从本空间的 /service目录跳转到 http://foo2.example.com/service ,那么,则可以使用如下htaccess文件指令:

 

 

Redirect [permanent,temp,seeother] /service http://foo2.example.com/service

 

此时,如果客户端请求http://example.com/service/foo.txt,则会被重定向到http://foo2.example.com/service/foo.txt。通过例子可以看出,此时的重定向是带有广泛匹配的,即:该目录下的所有子文档都会被重定向到一一对应的新地址上去。这一特性也给htaccess文件的编写带来了非常大的方便。

 

因为Redirect指令进匹配完整的URL,因此,该命令不能用来匹配文件名的正则表达式。如果希望匹配更多的条件,请使用RedirectMatch命令。

 后文将进行详细的介绍:

 

RedirectMatch 指令:

 

RedirectMatch指令是基于正则表达式匹配对当前的URL发送一个外部重定向命令。该命令与Redirect等效,但是URL能使用正则匹配。它使用了标准的正则表达式而不是简单的文件匹配。

 

其语法是:

 

 

RedirectMatch [status] regex URL

 

如果egex与URL相匹配,则服务器会把所匹配的括弧中的字符串替换到该指令所指定的目标字符串中,并将它视之为一个文件名。例如,重定向所有GIF文件到另一个服务器上同名的JPEG文件,可以:

 

 

RedirectMatch (.*)\.gif$ http://www.anotherserver.com$1.jpg

 

因此,该命令更加强大。其实际作用在于,比如想将本服务器上的所有图片、rar等资源换到专用的FTP服务器上去,这个功能就起大作用了。

 

与上述的301重定向命令类似的还有RedirectPermanent指令,与之对应的302重定向还有RedirectTemp指令。他们在用法上都是大同小异,只是这两个指令将之前的那两个指令具体化了一下,并且不带有状态码参数。

 

比如:

 

RedirectPermanent /service http://foo2.exsample.com/service 等效于 Redirect Permanent /service http://foo2.exsample.com/service

 

无论使用哪种表达都具有同样的效果。

 

301永久重定向将会促使搜索引擎尽快更新收录的地址并且收录新的地址。但是,某些情况下,这一方法可能会让搜索引擎作为作 弊处理。这些指令的作用域都包含.htaccess配置文件,直接将需要的指令加入该文件

 

.htaccess文件在线生成器地址:http://blog.wangqu.org/htaccess/

 

分享到:
评论

相关推荐

    .htaccess文件教程 301重定向 自定义404错误

    在本教程中,我们将重点探讨 `.htaccess` 文件如何实现301重定向以及自定义404错误页面。 首先,301重定向是一种HTTP状态码,意味着永久性转移。当用户或搜索引擎访问某个URL时,服务器通过301重定向将请求转发到新...

    wordpress 301重定向 htaccess

    wordpress htaccess 301重定向

    301重定向301重定向301重定向

    在Apache服务器上,可以通过修改.htaccess文件来添加重定向规则;对于IIS服务器,则需要在Web.config文件中进行配置;在Nginx服务器中,可以在nginx.conf文件中设置。每种方法都需要正确编写重定向规则,确保旧URL...

    修改.htaccess实现301域名重定向示例分享

    本文将详细介绍如何通过修改 `.htaccess` 文件来实现301域名重定向。 #### 二、.htaccess 文件简介 `.htaccess`(超文本访问控制)是Apache Web服务器中用于实现目录级别的配置功能的一个文本文件。它允许管理员为...

    ECSHOP 301重定向带动态页面跳转到静态页面插件

    实现301重定向的方法有多种,包括在服务器配置文件(如Apache的.htaccess或Nginx的server.conf)中添加规则,或者通过编程语言(如PHP)在应用级别处理。ECSHOP的这个插件很可能是在后台提供了用户友好的界面,让...

    301重定向(php,asp.net,jsp,sap)

    在使用Apache服务器的情况下,可以通过修改`.htaccess`文件来实现301重定向。例如,要将所有请求`http://nowamagic.net/`重定向到`http://www.nowamagic.net/`,可以在`.htaccess`文件中添加以下代码: ```apache...

    301重定向(nginx和Apache)

    Apache是目前最流行的Web服务器软件之一,其支持通过`.htaccess`文件实现重定向和URL重写。 **示例:** ```apacheconf # 针对baozifa.com的301重定向 RewriteCond %{HTTP_HOST} !^www.baozifa.com$ [NC] ...

    seo常用术语-301重定向.docx

    3. **LINUX主机上的.htaccess文件**:通过修改.htaccess配置文件,启用RewriteEngine,设定RewriteCond和RewriteRule,实现URL的301重定向。 **注意事项** - 选择301重定向而不是其他类型的跳转(如302临时重定向...

    disuz伪静态,URL301重定向文件,适用dz所有版本

    3. **设置301重定向**:若需要进行301重定向,可以在`httpd.conf`或`.htaccess`中添加类似以下的规则: ``` Redirect 301 /old-url.html http://new-domain.com/new-url.html ``` 4. **重启Apache服务**:完成...

    多种301重定向的实现方法.docx

    在网站根目录下创建或编辑.htaccess文件,利用`RewriteEngine`和`RewriteRule`规则实现301重定向。例如:`RewriteEngine On RewriteRule ^(.*)$ http://新网址/$1 [R=301,L]`。这里的`[R=301,L]`标记表示301重定向并...

    网站301重定向教程

    在提供的文件列表中,有一个名为“网站重定向.exe”的文件,这可能是一个帮助用户设置301重定向的实用工具。使用这样的工具可以简化操作流程,但也要确保其安全可靠,并且遵循正确的配置步骤。 总之,301重定向是...

    301重定向htaccess文件写法

    RewriteEngine On RewriteCond %{HTTP_HOST} ^xxx.com$ [NC] RewriteRule ^(.*)$ http://www.xxx.com/$1 [R=301,L] </IfModule>

    .htaccess重定向和url重写详细介绍

    通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。 一个简单的重定向 代码如下:[removed] ^old.html$...

    完美解决IIS和APACHE的301重定向(带参数)

    在Apache服务器上,301重定向通常通过修改`.htaccess`文件来实现。Apache的`.htaccess`文件支持简单的URL重定向和正则表达式,使得设置更加灵活。可以针对特定目录或全站进行重定向,例如,使用`Redirect permanent`...

    Linux实现301重定向和伪静态方法

    在Linux服务器上,通常通过编辑`.htaccess`文件来实现301重定向。例如,如果你希望将所有访问 `example.com` 的请求重定向到 `www.example.com`,可以在`.htaccess`文件中添加以下代码: ```apache RewriteEngine ...

    laravel 修改.htaccess文件 重定向public的解决方法

    这种方法的好处是能更灵活地控制入口文件的位置和重写规则,但需要确保 .htaccess 文件的正确配置,以避免重定向错误或者请求处理不当。 然而,在某些情况下,上述方法可能会导致 asset 函数出现问题,因为 Laravel...

    .htaccess重定向和url重写的几个例子.docx

    `.htaccess` 文件是 Apache 服务器配置中的一个小型文本文件,它允许你在网站的根目录或其他子目录下进行一些基本的服务器配置,如重定向、URL 重写、错误页面定制以及安全设置等,而无需修改全局的 `httpd.conf` ...

    解析网站301重定向的实现方法,包括iis,apache,asp,php的方法

    在Apache服务器中,通常通过修改`.htaccess`文件来实现301重定向。具体步骤如下: ```apache RewriteEngine On RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L] ``` 这里的关键在于`RewriteRule`指令,它...

    uu898分享网站做重定向的方法.pdf

    2. **整站301重定向**:如果你需要将整个网站重定向到新的域名,可以在.htaccess文件中加入以下规则: ``` Options +FollowSymmlinks RewriteEngine on RewriteCond %{HTTP_HOST} ^old-domain.com [NC] ...

Global site tag (gtag.js) - Google Analytics