zoukankan      html  css  js  c++  java
  • rewrite伪静态

    这部分看着教程来,步骤很简单,但自己实践很容易出错,一开始还不知道怎么调试

    后面想想可以查看apache的error log一看果然是好东西,log里面相当清楚

    不过整体过程中发现修改apache的配置需要非常细心 多一个空格可能导致错误

    过程如下

    1,第一步要开启对应的模块

    LoadModule rewrite_module modules/mod_rewrite.so

    2, 开启# Virtual hosts
    Include conf/extra/httpd-vhosts.conf

    这样就能在httpd-vhosts.conf这个文件里面配置虚拟主机了,免得写在apache的conf里面导致比较乱

    3,配置httpd-vhosts.conf

    <VirtualHost *:80>

    #网站的目录,记得先到c盘下面找到hosts文件  加上 127.0.0.1 www.dk.com这一句
        DocumentRoot "F:/wamp/www/test/rewrite"
        ServerName www.dk.com
     <Directory "F:/wamp/www/test/rewrite">
    #允许所有,order是顺序,先执行deny的,再执行allow的 

    Order deny,allow
     Allow from all

    #网站的欢迎页面,进入此站点,会自动读取index.php这个文件,没有就依次找后面
     DirectoryIndex index.php index.php3 index.html index.htm
     #设置网站的错误界面404等等 都在这里
     ErrorDocument 404 /404.html
     ErrorDocument 403 /403.html

    #这里本来可以直接写入一些rewrite的规则,但太多了混乱,因此和前面一样

    #开启这个可以将rewrite规则写在一个叫做.htaccess的文件里面,且每次修改.htaccess不用重启apache哦
     AllowOverride All
     </Directory>
    </VirtualHost>

    4,配置.htaccess

    #设置重写的规则

    #这个if是说如果开启了重写模块,下面才生效
    <IfModule rewrite_module>
    RewriteEngine On
    #重写规则 http://www.dk.com/show.php?id=3&num=100 show-id3-num100.html

    #下面是两个例子,一个是正则 一个直接替换
    RewriteRule show-id(d+)-num(d+).html show.php?id=$1&num=$2

    #比如这个直接输入hello.html 系统会自动载入hello.php 以达到伪静态的目的哦
    RewriteRule hello.php hello.html

    #下面是伪静态的另外一个作用,防止图片盗链

    #HTTP_REFERER代表访问来源,意思如果访问来源不是本网站的

    RewriteCond %{HTTP_REFERER} !www.dk.com

    #那么就对图片封杀,前面是正则 代表所有的jpg,后面的-F为forbidden 中间的空格严格遵循,不然会报错,但可以查看log来排错
    RewriteRule .*.jpg -[F]
    </IfModule>

  • 相关阅读:
    自适应Simpson积分
    斜率优化
    ORM的单表增删改查
    MTV模型—urls和view
    迭代器与生成器
    s7day2学习记录
    s7day1学习记录
    AI车牌识别涉及哪些技术?它是如何改变行业的?
    技术分享:人脸识别究竟是如何完成的?
    TSINGEE青犀视频行人检测景区测试时视频流切换本地背景音乐无法播放问题优化
  • 原文地址:https://www.cnblogs.com/dk1988/p/3500094.html
Copyright © 2011-2022 走看看