php设置伪静态

1.首先查看服务器是否支持伪静态。。

查看方法:

$arr=apache_get_modules();
$temp=false;
for($i=0;$i<count($arr);$i++)
{
 i f($arr[$i]=="mod_rewrite")
 {
   $temp=true;
 }
}如果temp=true则支持(可以使是否支持在网页上显示),如果用wamp集成环境就可以直接查看Apache modules 里面的rewrite modules是否选中,选中则支持,

2.让apache服务器支持.htaccess

  修改httpd.conf文件

  Options FollowSymLinks  AllowOverride None  改为  Options FollowSymLinks  AllowOverride All

  注意:除了要设置上面的地方以后,还得设置一下下面这个(网上很多资料都没有讲到这一块),否则你将会配制失败, 把 DocumentRoot 后面的参数改为你本地网站的目录 例如你网站的根目录为 D:/web/ 则得设置为 DocumentRoot "D:/web/" 也就是修改当前目录 

  此步骤设置好后也得重启apache服务器才能生效

3.修改是伪静态支持之后,建一个.htaccess文件,里面记录了伪静态的规则,实例如下:

RewriteEngine on #这句话必须写
#RewriteRule ([a-zA-Z]{1,})-([0-9]{1,})\.html$ index.php?action=$1&id=$2

RewriteRule ^([0-9]+).html$ list.php?catid=$1 #定义的规则
#list.php?id=1801
#1801.html

RewriteRule ^([0-9]+)-([a-zA-Z_]+).html$ list.php?catid=$1&sort=$2
#list.php?catid=1801&sort=price_desc
#50010788-price_desc.html

RewriteRule ^([0-9]+)-([0-9]+).html$ list.php?catid=$1&page=$2
#list.php?catid=1801&page=2
RewriteRule ^([0-9]+)-([a-zA-Z_]+)-([0-9]).html$ list.php?catid=$1&sort=$2&page=$3
#RewriteRule ([0-9]+)-([a-zA-Z_]+)-([0-9]+).html$ list.php?catid=$1&sort=$2&page=$3
#list.php?catid=50010788&sort=price_desc&page=2
#50010788-price_desc-2.html

3.在网站对应目录下输入1801.html就相当于输入了?id=1801

时间: 2024-10-21 07:03:35

php设置伪静态的相关文章

echsop设置伪静态

1.后台商店设置-基本设置-URL重写开启 2.修改httpd.conf文件 AllowOverride None 改为AllowOverride AllLoadModule rewrite_module modules/mod_rewrite.so前面的#号删除3.打开conf\extra\httpd-vhosts.conf文件将重写规则插入配置的访问地址的</VirtualHost>前面重写规则: <IfModule mod_rewrite.c> RewriteEngine O

MVC4设置伪静态---路由伪静态

有些客户要求设置静态的,为了完成需求,而且更简单的做法就是设置伪静态,例如:http://localhost:80/Home/Index.html ,也可以访问http://localhost:80/Home/Index 这是比较简单省力的一个办法,如果每个页面都是生成一个静态,访问速度是提高了,可代码量就增加,我们就可以利用mvc4的路由设置伪静态. public static void RegisterRoutes(RouteCollection routes) { routes.Ignor

Apache和Nginx设置伪静态(URL Rewrite)的方法

原文地址:http://bbs.qcloud.com/forum.php?mod=viewthread&tid=3545 apache/nginx伪静态在线转换:http://www.anilcetin.com/convert-apache-htaccess-to-nginx/ Apache 2.x 1.首先我们要确认Apache已经正确加载了mod_rewrite模块      检查httpd.conf中是否有LoadModule Rewrite_module modules/mod_Rewr

虚拟主机设置伪静态的三种方法

如今,很多站长都有使用香港虚拟主机来搭建网站,比较常见的有Linux香港虚拟主机.Windows香港虚拟主机. 值得一提的是,为了有利于网站的收录,很多站长使用香港虚拟主机搭建好网站后,一般都会进行伪静态设置.那么,在使用香港虚拟主机的话,网站的伪静态是怎么设置的?这里就来简单的了解下. 目前,Windows香港虚拟主机采用的是IIS服务器,而Linux香港虚拟主机采用的是Apache服务器.因此,如果要想设置伪静态的话,我们需要在其相应的配置文件中进行设置,对应关系如下: 1.iis7.iis

宝塔面板设置伪静态规则

宝塔面板后台集成了站点伪静态规则设置选项,无需更改Linux服务器conf文件配置即可自定义站点伪静态规则,真的很方便,另外宝塔为市面上常见的程序提供了自带的伪静态规则,只需要鼠标点选即可. 宝塔面板设置伪静态规则的方法 1.登录到宝塔面板后台:http://你的服务器IP/88882.点击左侧“网站”---选择你要设置伪静态的站点,点“设置”, 3.选择“伪静态”选项卡 4.可以自定义伪静态规则,也可以选择宝塔自带的伪静态规则,宝塔自带的伪静态规则有:EmpireCMS.dabr.dbshop

Windows服务器下用IIS Rewrite组件为IIS设置伪静态方法

1.将下载的IIS Rewrite 组件解压,放到适当的目录(如 C:Rewrite)下,IIS Rewrite 组件下载 http://www.helicontech.com/download-isapi_rewrite.htm , IIS Rewrite 简化版组件下载 http://www.newhua.com/soft/71446.htm ,下载下来解压后不用安装拷到目 2.将下载的IIS Rewrite 组件解压,放到适当的目录(如 C:Rewrite)下,IIS Rewrite 组件

windows系统iis运行环境下ecshop商城设置伪静态的方法

IIS ECSHOP 伪静态设置三个条件: 1.支持伪静态环境设置: (VPS.服务器的可自行假设,如果是虚拟主机的话,请咨询空间服务商!)2.新建 httpd.ini 文件放在网站根目录下:3.在后台设置开户 伪静态 功能: 确认满足以上三个条件以后按下面步骤操作:1.首先请进入以下网址 http://www.helicontech.com/download/,下载免费版的ISAPI_Rewrite组件:ISAPI_Rewrite Lite ( freeware ).如果您仅仅是测试用途使用这

IIS7.5使用web.config设置伪静态的方法

IIS 7和IIS 7.5及以后的版本估计都会使用web.config来实现伪静态规则,于是我们以前的伪静态文件必须更改.网上找了一圈,还没有发现比较全面的web.config伪静态规则,于是我们这里整理一份,供初次使用的朋友参考. 实现普通页面.带一个数字参数页面和带两个参数页面的伪静态! ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 <?xml version="1.0" encodin

IIS7.5使用web.config设置伪静态的二种方法(转)

近几天公司里开发的项目有几个运行在IIS7.5上,由于全站采用的是伪静态,因此从网上找到两两种方法来实现.这两种方法各有优势:第一种比较灵活,只要把文件拷到根目录下,即可直接显示所有伪静态页面(适用于此伪静态规则的所有项目,如ThinkPHP),无需更改代码:第二种适合有子目录时的伪静态,比如一个网站下有多个子网站且都要使用伪静态,那么就考虑使用第二种方法了,第一种会报错误.两种方法,自己根据情况使用吧(当然,并不是适用所有项目,可以根据项目的伪静态规则自行调整).以下是代码: 第一种方法:we