• 【Apache】apache简单配置URL重写规则


      【概述】URL重写就是首先获得一个进入的URL请求然后把它重新写成网站可以处理的另一个URL的过程。举个例子来说,如果通过浏览器进来的URL是index.php?type=news&&cata=sport&&id=123那么它可以被重写成 “news-sport-123.html”,这样的URL,这样的网址可以更好的被搜索引擎抓取。

      【优点】URL重写可以降低使用动态网页时受sql注入攻击的几率,还可以在不静态化的网页的情况下,利于搜索引擎对网页的抓取(SEO)。

      【配置】

      1,启用httpd.conf配置文件中的rewrite静态库

    #开启apache rewrite重写模块
    LoadModule rewrite_module modules/mod_rewrite.so

      2,配置测试虚拟主机

      2.1,启用httpd.conf配置文件中的httpd-vhosts.conf选项

    # Virtual hosts 开启此选项,使其包含httpd-vhosts.conf配置文件
    Include conf/extra/httpd-vhosts.conf

      2.2在httpd-vhosts.conf配置文件中添加一个虚拟主机

    <VirtualHost *:80>
    DocumentRoot
    "X:/phptest/urlrewrite_test" ServerName www.gazeon.com
    #Directory这个段,主要用处指定,该目录的访问权限 <Directory
    "X:/phptest/urlrewrite_test"> #允许所有人访问 Allow from all #不列出该网站的文件列表 Options None #设置网站默认的首页面 http://www.gazeon.com DirectoryIndex index.php #配置统一的 404页面 errordocument 404 /error404.html #开启重写引擎 RewriteEngine On #配置url重写规则 ,使用正则匹配,$1,$2,$3表示第N个子表达式中匹配的结果 RewriteRule (w+)-(w+)-(d+).html$ index.php?type=$1&&cata=$2&&id=$3 </Directory> </VirtualHost>

      2.2.1【注意】如果你的apache安装目录没有httpd-vhosts.conf文件,可以将以上配置内容直接写到httpd.conf配置文件中。

      2.2.2【另外】你也可以在需要访问的文件目录下,直接通过写.htaccess文件来规范重写规则,比在httpd.conf文件中配置更灵活

    #.htaccess文件内容
    <IfModule rewrite_module>
    #开启重写引擎 RewriteEngine On #配置url重写规则 ,使用正则匹配,$
    1,$2,$3表示第N个子表达式中匹配的结果 RewriteRule (w+)-(w+)-(d+).html$ index.php?type=$1&&cata=$2&&id=$3 </IfModule>

      重启Apache。  

      3,在hosts文件中添加规则(可选)

      打开C:WindowsSystem32driversetc 目录下的hosts文件,添加如下代码

    127.0.0.1/urlrewrite_test www.gazeon.com

      4,建立测试网也页

      在X:phptesturlrewrite_test 下新建index.php

    <?php
    /*
    2016/3/10 YunGaZeon
    此网页仅用于URL重写测试,因此尽量简单
    */
    echo '<pre>';
    print_r($_GET);
    echo '</pre>';

       4.1浏览器打开www.gazeon.com/news-sport-123.html 测试查看

      显示以下内容,则配置成功

    Array
    (
        [type] => news
        [cata] => sport
        [id] => 123
    )

      

      

      

  • 相关阅读:
    第三十一章 线程------GIL、线/近程池、异/同步、异步回调
    第三十章 网路编程------线程
    第二十八章 网络编程------Socket
    第二十七章 网络编程
    第二十六章 oop中元类、异常处理
    第二十五章 面向对象------封装、内置函数、反射、动态导入
    第二十四章 面向对象------属性
    Document 对象
    正值表达式
    BOM和DOM
  • 原文地址:https://www.cnblogs.com/GaZeon/p/5262303.html
Copyright © 2020-2023  润新知