phprewrite
1. IIS 服务器下的php伪静态要怎么弄啊
IIS配置支持伪静态 ISAPI Rewrite(win2003系统)
第一:首先我们需要下载一个ISAPI_Rewrite,有精简版和完全版,一般精简版只能对服务器全局进行配置,而完整版可以对服务器上的各个网站进行伪静态配置.对于个人站长来说,精简版就足够了.
下载:http://www.isapirewrite.com/download/isapi_rwl_0055.msi
第二:下载完成后,可以找到安装包里的.msi的文件,安装即可.
随便装在哪都可以,默认是装在C:\Program Files\Helicon下,要注意的是这个目录everyone要有读取权限。我就因为当时服务器权限配的比较严格,默认安装Helicon这目录EVERYONE是没有任何权限的,结果老是出现:Service Unavailable 。
第三:打开Internet 信息服务,右键,web站点属性,点击ISAPI筛选器选项卡.添加筛选器,这里的名称可以自己随意填写,路径自己指定ISAPI_Rewrite.dll,然后确定.
下面我们先做一个测试页new.asp,可以按照下面的代码写
然后,在浏览器中输入:
http://127.0.0.1/new.asp?id=1234
接着你就可以在网页上看到一行文字:"1234"
看到这几个数字,就说明你测试成功了.
现在我们开始来配置ISAPI_Rewrite :
打开ISAPI_Rewrite的目录,把httpd.ini的只读属性去掉,打开编辑.我们现在是需要把new.asp?id=1234修改成类似new_1234.html的路径,因此,我们需要在httpd.ini中添加一句
RewriteRule /new_([0-9,a-z]*).html /new.asp?id={GetProperty(Content)}
保存后,我们就可以测试一下这个网址了:http://127.0.0.1/new_1234.html
可以看到页面上的"1234"了吧,就这样伪静态配置成功了!
2. PHP本地如何实现伪静态页面
Apache的 mod_rewrite是比较强大的,在进行网站建设时,可以通过这个模块来实现伪静态。
主要步骤如下: 1.检测Apache是否开启mod_rewrite功能 可以通过php提供的phpinfo()函数查看环境配置,找到“Loaded Moles”,其中列出了所有apache2handler已经开启的模块,如果里面包括“mod_rewrite”,则已经支持,不再需要继续设置。如果没有开启“mod_rewrite”,则打开目录 apache目录下的“/apache/conf/” ,找到 httpd.conf 文件,再找到“LoadMole rewrite_mole”,将前面的”#”号删除即表示取用该功能。 如果没有查找到“LoadMole” 区域,可以在最后一行加入“LoadMole rewrite_mole ,moles/mod_rewrite.so”(独占一行),之后重启apache服务器。再通过phpinfo()函数查看环境配置就有“mod_rewrite”为项了.。
2.让apache服务器支持.htaccess 如何让自己的本地APACHE服务器支持:“htaccess”呢? 只需修改apache的httpd.conf设置就可以让 APACHE支持“.htaccess”了。打开 APACHE目录的CONF目录下的httpd.conf文件,找到: Options FollowSymLinks AllowOverride None 改为 Options FollowSymLinks AllowOverride All 就行了。
3.建立.htaccess 文件 建立.htaccess文件时要注意,不能直接建,方法是通过记事本中的另存为菜单,在文件名窗口输入:“.htaccess”,然后点击保存。
4.rewrite规则学习 在新建.htaccess文件之后,就在里面写入以下内容: RewriteEngine on #rewriteengine为重写引擎开关on为开启off为关闭 RewriteRule ([0-9]{1,})$index.php?id=$1 在这里,RewriteRule是重写规则,是用正则表达式的句子,([0-9]{1,})表示由数字组成的,$表示结束标志,表示以数字结束!如果要实现伪静态页面,规则如下: RewriteEngine on RewriteRule ([a-zA-Z]{1,})-([0-9]{1,}).html$index.php?action=$1&id=$2 在为个正则表达式中,([a-zA-Z]{1,})-([0-9]{1,}).html$是规则,index.php?action=$1&id=$2是要替换的格式,$1代表第1括号匹配的值,$2代表第二个括号的值,如此类推! 测试PHP脚本如下: index.php文件中的代码如下: echo ‘你的Action值为:’ . $_GET['action']; echo ‘ ’; echo ‘ID值为:’ . $_GET['id']; ?>
在浏览器地址栏输入: localhost/page-18.html 输出的是: 你的Action值为:page ID值为:18
3. phpstudy伪静态设置该怎么做
一、开启Mod_rewrite模块
点击任务栏中的phpstyudy图标,选择“配置文件”--“httpd-conf”
搜索 LoadMole rewrite_mole moles/mod_rewrite.so (Apache2是这个)
去掉前面的#
搜索AllowOverride None 替换为 AllowOverride All
有好几个找到和下面代码类似的那个
</IfMole>
#
# "D:usrlocalApache2cgi-bin" should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
#
<Directory "D:usrlocalApache2cgi-bin">
AllowOverride All
Options None
Order allow,deny
Allow from all
</Directory>
二 、在Apache2confhttpd.conf 最后一行添加:
<IfMole mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)-htm-(.*)$ $1.php?$2 (这里是httpd.ini里面的伪静态规则)
</IfMole>
然后重新Apache后就可以正常使用了。