投稿 评论 顶部

apache 服务器设置伪静态 配置文件php

佚名 网络安全
1、开启apache mod_rewrite.so 配置 在 httpd.conf中。
测试的话可以用phpinfo查看,看是否loaded modules 有这个模块
2、inculde conf/extra/httpd-vhosts.conf virtual hosts支持,虚拟域名配置
3、编写vartual host 段
4、本机host文件(如果需要本机测试针对windows)
5、伪静态配置
5.1 rewrite engine on
5.2编写规则 ^/post/([0-9]*).html$ /post.php?id=$1
放在 virtualhost 段中
eg;post.php 中编写
<?php?
echo 'this is '.$_GET['id'];
然后可以访问a.com/123.html 返回的就是this is 123.

扩展:如果目录下有123.html这个真正的文件,那么还是加载了动态的post 123.
那么如何设置呢,想要当前文件有了真正的静态文件,那么需要以下配置了
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME}!-d
RewriteCond%{DOCUMENT_ROOT}%{REQUEST_FILENAME}}!-f
以上两句话意思是如果根目录下有请求的目录或者文件,那就用他
当然这个要放在刚刚的那个rewrite的上面。