windows中apache 301页面跳转实现方法

实现301页面跳转之前需要对apache配置做下修改如

apache默认是没有开启mod_rewrite模块的,

1,将

代码如下:

#LoadModule rewrite_module modules/mod_rewrite.so

这一行前面的#号去掉,http.conf的站点目录配置,另一种是空间用户常用的

改为

代码如下:

LoadModule rewrite_module modules/mod_rewrite.so,

2,将AllowOverride None 改为:AllowOverride All

一、写.htaccess文件,关于301重定向的写法:

1) 常见的将不带WWW的域名转向到带WWW的域名下 举例:网站.com重定向到www.网站.com

代码如下:

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^网站.com [NC]
RewriteRule ^(.*)$ http://www.网站.com/$1 [L,R=301]

如果你有服务器权限我们可以在http.conf中修改

二、Apache下vhosts.conf中配置301转向。

代码如下:

<VirtualHost *:80>
DocumentRoot “E:/xxx”
ServerName http://www.域名.net
</VirtualHost>
<VirtualHost *:80>
ServerName 域名.net
RedirectMatch permanent ^/(.*) http://www.域名.net$1
</VirtualHost>

将不带WWW的域名转向到带WWW的域名下

代码如下:

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^xxx.cn [NC]
RewriteRule ^(.*)$ http://www.xxx,cn/$1 [L,R=301]

常用的客户端请求错误返回代码:

400 - Bad request 错误请求
401 Authorization Required需要验证
403 Forbidden禁止
404 Not Found找不到页面
405 Method Not Allowed
408 Request Timed Out
411 Content Length Required
412 Precondition Failed
413 Request Entity Too Long
414 Request URI Too Long
415 Unsupported Media Type

大家可使用ff浏览firebug来检测是否返回了301状态代码

(0)

相关推荐

  • Apache mod_rewrite实现HTTP和HTTPS重定向跳转

    当你的站点使用了HTTPS之后,你可能会想把所有的HTTP请求(即端口80的请求),全部都重定向至HTTPS(即端口443).这时候你可以用以下的方式来做到:(Apache mod_rewrite) <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://jb51.net/$1 [R=301,L] </IfModule&

  • Apache无法自动跳转却显示目录的解决方法

    Apache无法自动跳转却显示目录这是因为Apache服务器下conf/httpd.conf没有配置好,其默认是不跳转,直接显示目录 首先,我们需要禁止Apache直接显示目录. 方法在搜索Options Indexes FollowSymLinks,将其该为Options FollowSymLinks 其实,解决Apache无法自动跳转的问题,这是因为Apache本来只是一个http服务器,不会自动跳转到index.php页面.需要定位<IfModule dir_module>这一项,将Di

  • Apache 虚拟目录和默认首页的设置

    虚拟目录 1.找到"conf/httpd.conf" 文件 2.在节点:<IfModule alias_module>里增加 Alias /aidd2008 "D:/php/web/aidd2008" 其中 aidd2008 是你想要访问的虚拟目录: D:/php/web/aidd2008 为物理路径,以[/]代替[\]" 我们就在</IfModule>后面接着加: 复制代码 代码如下: <Directory "D:

  • Apache的Rewrite设置多域名301跳转到主域名的方法

    如果网站有多个域名,而又不希望分散权重,则可以通过开启Rewrite设置,将多个域名都301跳转到主域名之下,具体代码如下: RewriteEngine On RewriteCond %{HTTP_HOST} ^mituxiu.com [NC,OR] RewriteCond %{HTTP_HOST} ^www.mituxiu.com [NC,OR] RewriteCond %{HTTP_HOST} ^metooshow.com [NC] RewriteRule ^(.*)$ http://www

  • 禁止apache显示目录索引的常见方法(apache禁止列目录)

    禁止Apache显示目录索引,禁止Apache显示目录结构列表,禁止Apache浏览目录,这是网上提问比较多的,其实都是一个意思.下面说下禁止禁止Apache显示目录索引的常见的3种方法.要实现禁止Apache显示目录索引,只需将 Option 中的 Indexes 去掉即可. 1)修改目录配置: 复制代码 代码如下: <Directory "D:/Apache/blog.phpha.com">Options Indexes FollowSymLinks # 修改为: Op

  • Apache Rewrite实现URL的301跳转和域名跳转

    如果要想用到rewrite模块,必须先安装或加载rewrite模块.方法有两种一种是编译apache的时候就直接安装rewrite模块,别一种是编译apache时以DSO模式安装apache,然后再利用源码和apxs来安装rewrite模块. 基于服务器级的(httpd.conf)有两种方法,一种是在httpd.conf的全局下直接利用RewriteEngine on来打开rewrite功能;另一种是在局部里利用RewriteEngine on来打开rewrite功能,下面将会举例说明,需要注意

  • 让apache显示目录列表的配置方法

    1.apache中显示目录列表 在http.conf中加入如下代码(如有虚拟主机配置,加在虚拟主机配置段内),并把主目录内的index.pho,index.html,index.htm文件删除 复制代码 代码如下: Alias /download "/download"  <Directory "/download">    Options Indexes    Order allow,deny    IndexOptions Charset=UTF-8

  • Apache中解决动态地址跳转死循环的方法

    问题背景:矿秘书网的历史遗留问题,刚开始由于各种问题,一些动态页面都是用了?id=参数的形式,对seo/seo.html" target="_blank">搜索引擎不友好,经常多方面考虑,还是改成伪静态.这里劝各位站长在做新站时,尽量使用伪静态,不仅对搜索引擎,对用户体验也友好. 问题描述:需要将 /news/show_news.php?id=1 形式的地址伪静态成 /news/1 形式,而且 /news/show_news.php?id=1 在浏览器打开要 301 跳

  • apache设置自动将http跳转到https的方法

    复制代码 代码如下: <Directory "/opt/fivetrees">## Possible values for the Options directive are "None", "All",# or any combination of:#   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews## Note that "

  • Apache中使非伪静态url跳转到伪静态url的方法

    如何使用.htaccess使非伪静态页面301跳转到伪静态页面然后再跳转?这是一个比较蛋疼的跳转.因为不小心就会搞成死循环导致页面无法打开.好在问题最终解决了.记录并分享出来,给需要的朋友借鉴借鉴. 规则如下: RewriteRule ^article-([0-9]+).html$ /article.php?id=$1&r=1 [L] RewriteCond %{QUERY_STRING} ^id=([0-9]+)$ [NC] RewriteRule ^article.php$ /article

随机推荐