当前位置: 首页 > news >正文

深圳宝安区深圳网站建设 骏域网络兰州搜索引擎优化

深圳宝安区深圳网站建设 骏域网络,兰州搜索引擎优化,唐山做网站的电话,网站开发的社会背景一、开启重写模块 apache 的配置文件 httpd.conf 开启 LoadModule rewrite_module modules/mod_rewrite.so 二、配置重写规则 1. apache 主配置文件 httpd.conf (服务器级别,需要拥有服务器的管理权限) 2. 使用在httpd.conf里定义的虚…

一、开启重写模块

apache 的配置文件 httpd.conf   开启   LoadModule rewrite_module modules/mod_rewrite.so

二、配置重写规则

1. apache 主配置文件 httpd.conf (服务器级别,需要拥有服务器的管理权限)

2. 使用在httpd.conf里定义的虚拟主机配置中

3. 目录下 .htaccess 文件中(目录级http://www.haolizi.net/别,作用于当前目录项目)

如果是使用  .htaccess 需要在主配置文件中对网站所在目录定义以下内容

<Directory /var/www/>Options Indexes FollowSymLinksAllowOverride All   Require all granted
</Directory>

//一般情况下是 AllowOverride  None  改成 All  后即表示整台服务器上都支持URL规则重写,apache服务器要读取每个项目目录下的  .htaccess 文件  ,如果没有这个文件或者没有定义任何关于url的规则就不会有效果

修改为 all 后需要重启 apache   #sudo /etc/init.d/apache2 restart

重启后或许会报505错误,解决方法  #sudo a2enmod rewrite      #sudo service apache2 restart

虚拟主机配置示例:

<VirtualHost *:80>
    #网站目录,如果在www目录下的php目录,下面    #就填写F:/www/php
    DocumentRoot "D:/phpstudy/www" 
    #域名
    ServerName  www.baidu.com
    #这里配置默认首页
    DirectoryIndex index.html index.htm index.php
    <Directory />
    Options FollowSymLinks
    #不允许别人修改我们的页面,为all 时 .htaccess 文件才生效
    AllowOverride None
    #设置访问权限
    order allow,deny
    Allow from all
    </Directory>   
</VirtualHost>

/usr/local/apache/conf/httpd.conf  配置

      options Indexes followsymlinks    #翻译后为  选项索引跟随链接
      allowoverride all                              #允许重写
      rewriteengine on                             #重写引擎
      rewritebase / 
      rewriterule ^(.*)$ index.html [R=301] 
rewritebase / 的作用是如果在下面的rewriterule定义中被重写后的部分 (此处为文件名index.html) 前面没有 /,则是相对目录,相对于这个rewritebase后面的定义也就是 /usr/local/apache/htdocs/index.html ,否则,如果此处没有 rewritebase / 这一项,则被重写成http://127.0.0.1/usr/local/apache/htdocs/manual/index.html 显然是不正确的。 通常不用写 rewritebase  /  这一项,而直接在rewriterule ^(.*)$  /index.html [R=301]  写 / 就可以,或者是 rewriterule ^(.*)$ http://127.0.0.1/index.html [R=301] 

还有一些选项:

RewriteCond %{HTTP_HOST} !^www.baidu.com [NC] #声明客户端请求的主机中前缀不是www.baidu.com,其中 [NC] 的意思是忽略大小写 
RewriteCond %{HTTP_HOST} !^127.0.0.1 [NC] #声明客户端请求的主机中前缀不是127.0.0.1,其中 [NC] 的意思是忽略大小写 
RewriteCond %{HTTP_HOST} !^$ #声明客户端请求的主机中前缀不为空 

RewriteRule ^(.*) http://www.pdanda.com/ [L] #含义是如果客户端请求的主机中的前缀符合上述条件,则直接进行跳转到http://www.pdanda.com/,[L]意味着立即停止重写操作,并不再应用其他重写规则。这里的 .* 是指匹配所有URL中不包含换行字符,()括号的功能是把所有的字符做一个标记,以便于后面的应用.就是引用前面里的 (.*)字符。

RewriteCond %{HTTP_HOST} ^wx.baidu.con [NC] 
RewriteRule ^(.*) http://www.baidu.com/ [L]

上边两行的意思是将访问的网络地址是wx.baidu.com 的时候跳转到 http://www.baidu.com

 .htaccess  文件

RewriteEngine On   #重写引擎  On 打开,如果为 off 则重写不起作用,不用再去注释掉下方的重写规则
RewriteMap lowercase int:tolower
RewriteCond ${lowercase:%{SERVER_NAME}} ^[a-z0-9]+.eact.com.cn$    #重写条件
RewriteRule ^(.+) ${lowercase:%{SERVER_NAME}}$1 [C]     #重写规则

使用 .htaccess 前需要把 httpd.conf 中的  AllowOverride 设为 all

Apache Rewrite规则的书写 

#当访问任何以t_开头,以.html结尾的文件时,将$1用与(.*)匹配的字符替换后,访问相应的test.php页面 
RewriteRule ^/t_(.*).html$ /test.php?id=$1

#当我们访问的地址不是以www.163.com开头的,那么执行下一条规则 
RewriteCond %{HTTP_HOST} !^www.163.com [NC] 
RewriteRule ^/(.*) http://www.163.com/ [L] 

Apache Rewrite规则修正符 
1) R 强制外部重定向 
2) F 禁用URL,返回403HTTP状态码。 
3) G 强制URL为GONE,返回410HTTP状态码。 
4) P 强制使用代理转发。 
5) L 表明当前规则是最后一条规则,停止分析以后规则的重写。 
6) N 重新从第一条规则开始运行重写过程。 
7) C 与下一条规则关联 

如果规则匹配则正常处理,以下修正符无效 
8) T=MIME-type(force MIME type) 强制MIME类型 
9) NS 只用于不是内部子请求 
10) NC 不区分大小写 
11) QSA 追加请求字符串 
12) NE 不在输出转义特殊字符 \%3d$1 等价于 =$1

重写中设计到的特殊字符的含义【与正则表达式有些相似】

* 代表前面0或更多个字符

+ 代表前面1或更多个字符

? 代表前面0或1个字符

^ 代表字符串的开始位置

$ 代表字符串结束的位置

。为通配符,代表任何字符

\将跟在其后的字符还原为字符本身,例如“\+”代表的就是“+”,而非其它意思。

^在方括号里表示非的意思。例如[^.]代表非通配符。

文件不存在时的重定向

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .? /404.php [L]

这里   -f  匹配的是存在的文件名,-d  匹配的存在的路径名。这段代码在进行404重定向之前,会判断你的文件名以及路径名是否存在,也就是在文件名和目录不存在的时候跳转404。你还可以在404页面上加一个?url=$1参数:

RewriteRule ^/?(.*)$ /404.php?url=$1 [L]

伪静态

RewriteEngine on

RewriteRule ^test([0-9]*).html$ /index.php?id=$1

将.html后缀名转换成.php

RewriteRule ^/?([a-z/]+)\.html$ $1.php [L]

http://www.zhongyajixie.com/news/26418.html

相关文章:

  • 二级网站什么是关键词广告
  • 哪个网站可以接图纸做网络推广公司排名
  • 网站规划与建设ppt模板查权重的软件
  • 网站建设juxinghulian网络营销的发展概述
  • 托管网站怎么创建网址
  • 个人怎样申请网站seo教程自学
  • 网站开发的工作流程蔡甸seo排名公司
  • hbuilder 做网站2023新一轮病毒叫什么名字
  • 北京数字智慧展厅设计咨询长沙网络优化产品
  • 呼和浩特网站优化公司qq群推广方法
  • 怎么破解wordpress主题seo用什么论坛引流
  • 湖北省住房和城乡建设厅官方网站吸引顾客的营销策略
  • 把一个网站挂到网上要怎么做百度指数官网数据
  • 电商自建站企业网络
  • wordpress支付插件绿色灰色词优化培训
  • 广州网站建设网站优化推广介绍网络营销
  • 海南住房和城乡建设厅网站网络推广的渠道
  • 做一个二手网站怎么做营销策划公司经营范围
  • 做销售在那个网站找网站关键词排名优化价格
  • 做网站的域名和空间是什么意思网络营销推广方式包括
  • 建设品牌网站外贸网站推广的方法
  • 开个网站做做个电商平台要多少钱
  • 企业网站的建设流程包含哪些环节?什么叫网络营销
  • 罗田建设局网站百度账号注册入口
  • 网站维护中要多久才能重新进入站长之家收录查询
  • 佛山百度快速排名优化广东网站seo
  • 有好点的做网站的公司吗深圳整站全网推广
  • 如何做网站优化seo怎么样优化关键词排名
  • 如何用网站做淘宝联盟qq推广链接生成
  • 绵阳网站建设费用域名注册平台