查看: 7621|回复: 6
打印 上一主题 下一主题

伪静态之URL重写技术

[复制链接]
跳转到指定楼层
1#
发表于 2008-3-6 11:31:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
台州网址导航
之前作个某小站采用了,在window平台下的IIS下利用的是isapirewrite的API重定向技术,其实,这东西的坐起来也不是很难.我下面把ISAPI的URL ReWrite和Apache的重写技术都一并列举.主要的是正则分析,如果正则不熟悉,就看看相关知识.



  下载(IIS Rewrite模块): http://www.isapirewrite.com/,先把产品下载下来,安装在服务器上,记住目录,会有类似Rewrite.dll的文件生成,MMC→IIS信息服务管理器→网站→您的站点→属性,在“ISAPI筛选器”项点击 “添加”, 筛选器名称填入Rewrite,可执行文件为Rewrite.dl这个文件.



   然后修改httpd.ini配置文件,如果不太熟悉,就在http://www.isapirewrite.cn/docs看看手册,研究去,如此:


[ISAPI_Rewrite]
CacheClockRate 3600
RewriteRule ^(.*)/([a-z0-9A-Z\-]+\.html)$ $1/default.asp\?id=$2   
这个配置好了就能在default.asp获取参数了,没问题把,顺便一说,正则用法里面最重要的符号^匹配开头,$匹配结尾,\w匹配任何字符,\s匹配空白,+匹配至少一,*匹配至少0,[x,]匹配至少x,()是分组技术,汗,这东西不说了,太弱了.



  下面说Apache的重写技术,基本类似,只不过,apaceh支持更灵活的.htaccess,你创建一个文件,文件名就是.htaccess:内容:


RewriteEngine On
RewriteRule ^(.*)/([a-z0-9A-Z\-]+\.html)$ $1/default.asp\?id=$2

  就这样,搞定之.注意,必须要空间支持 Rewrite 以及对站点目录中 .htaccess 的文件解析,才有效.否则就是玩玩.
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖
台州维博网络(www.tzweb.com)专门运用PHP+MYSQL/ASP.NET+MSSQL技术开发网站门户平台系统等。
2#
 楼主| 发表于 2008-3-6 11:31:54 | 只看该作者
台州网址导航
问问:
最近有个php改成html后缀,google里搜索一大堆,晕了;
apache下的httpd.conf里需要改动什么,除了把这里
<Directory />
    Options FollowSymLinks
    AllowOverride All  
</Directory>
设置;
台州维博网络(www.tzweb.com)专门运用PHP+MYSQL/ASP.NET+MSSQL技术开发网站门户平台系统等。
3#
 楼主| 发表于 2008-3-6 11:32:01 | 只看该作者
台州网址导航
你把*.php直接改成html的了?这样的话:

ScriptAlias /php/ "E:/web/PHP/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php/php-cgi.exe"

===>





ScriptAlias /php/ "E:/web/PHP/"
AddType application/x-httpd-php .php .html
Action application/x-httpd-php "/php/php-cgi.exe"
台州维博网络(www.tzweb.com)专门运用PHP+MYSQL/ASP.NET+MSSQL技术开发网站门户平台系统等。
4#
 楼主| 发表于 2008-3-6 11:32:09 | 只看该作者
台州网址导航
主要是想把*.php?id=xx换掉,直接改成xx.html
不知道apache下的httpd.conf下要怎么设置:(
台州维博网络(www.tzweb.com)专门运用PHP+MYSQL/ASP.NET+MSSQL技术开发网站门户平台系统等。
5#
 楼主| 发表于 2008-3-6 11:32:24 | 只看该作者
台州网址导航
仔细的看我这篇文章就能解决

你这个文章我看过,我要改的重点也在你的文章里,就这个:
下面说Apache的重写技术,基本类似,只不过,apaceh支持更灵活的.htaccess,你创建一个文件,文件名就是.htaccess:内容:
RewriteEngine On
RewriteRule ^(.*)/([a-z0-9A-Z\-]+\.html)$ $1/default.asp\?id=$2

问题就在于,我google过,除了.htaccess这个文件
apache下的httpd.conf也要设置的
台州维博网络(www.tzweb.com)专门运用PHP+MYSQL/ASP.NET+MSSQL技术开发网站门户平台系统等。
6#
 楼主| 发表于 2008-3-6 11:32:34 | 只看该作者
台州网址导航
嘿嘿
等我去试过再说了,一直没去动过
台州维博网络(www.tzweb.com)专门运用PHP+MYSQL/ASP.NET+MSSQL技术开发网站门户平台系统等。
7#
 楼主| 发表于 2008-3-6 11:32:59 | 只看该作者
台州网址导航
必须要空间支持 Rewrite 以及对站点目录中

httpd.conf:

虚拟主机的设置如下:

   <VirtualHost *:80>
         <Directory "/web/web/php/bi">
             AllowOverride All
             Options Indexes FollowSymlinks MultiViews
             Order allow,deny
             Allow from all
         </Directory>
         ServerAdmin heiyeluren@unixsky.net
         DocumentRoot /web/web/php/bi
         ServerName bi.com
         ErrorLog logs/cal-error_log
         CustomLog logs/cal-access_log common
     </VirtualHost>


建立文件.htaccess:

RewriteEngine On
RewriteRule ^([a-z0-9A-Z\-]+\.html)$ default.php\?id=$1



测试通过,注意设置的目录!
台州维博网络(www.tzweb.com)专门运用PHP+MYSQL/ASP.NET+MSSQL技术开发网站门户平台系统等。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

网站推广
关于我们
  • 台州朗动科技(Tzweb.com)拥有多年开发网站平台系统门户手机客户端等业务的成功经验。主要从事:政企网站,系统平台,微信公众号,各类小程序,手机APP客户端,浙里办微应用,浙政钉微应用、主机域名、虚拟空间、后期维护等服务,满足不同企业公司的需求,是台州地区领先的网络技术服务商!

Hi,扫描关注我

Copyright © 2005-2026 站长论坛 All rights reserved

Powered by 站长论坛 with TZWEB Update Techonolgy Support

快速回复 返回顶部 返回列表