在php中如何做伪静态?这个问题困扰我很久,做静态页面的话,那些像smarty等模板框架不会使用。
然而感觉伪静态是个好方法,并且现在那么多的网站,,论坛都是伪静态的实现。我从网上也找了资料看了,但是看不出来头绪。不知道如何去操作,怎么设置环境,怎么传递变量,结束变量等等机制问题。借此机会,向各路高手请教下!王不惜赐教!
然而感觉伪静态是个好方法,并且现在那么多的网站,,论坛都是伪静态的实现。我从网上也找了资料看了,但是看不出来头绪。不知道如何去操作,怎么设置环境,怎么传递变量,结束变量等等机制问题。借此机会,向各路高手请教下!王不惜赐教!
用 rewrite 就行了啊
我说了,对她一无所知。所以你说rewrite,我都不知道咋下手。
比如这个,意思就是访问http://domain/index.html 实际上,是访问了index.phpRewriteRule ^article-([0-9]+)\.html$ article\.php\?id=$1 [L]
这个意思是http://domain/article-101.html 实际上访问的是article.php?id=101简单的正则替换。
具体的设置依据自己的实际应用来,不是三两句能说清
www.pjob.info
详细页的伪静态。比如网址 http://www.pjob.info/public/55d55d222235ecf153651ee3433a002e.html
他的实际地址是 http://www.pjob.info/detail.php?md5=55d55d222235ecf153651ee3433a002e
WIN IIS 系统用httpd.ini ,Linux Apache系统用.htaccess
写法:
RewriteRule ^public-([^\/]+).html$ detail.php?md5=$1 [L]
detail.php 文件里面直接用$_GET['md5']来获取md5就可以不用任何其他转换之类的。
这样你应该会明白吧~
为了SEO,搜索引擎不认识 ?背后的参数,不过现在好多了。照样收录。
http://lamp.linux.gov.cn/Apache/ApacheMenu/mod/mod_rewrite.html
#LoadModule rewrite_module modules/mod_rewrite.so还有一个目录添加这两句的:Options FollowSymLinks AllowOverride All 然后根目录建立.htaccess文件,里面正则为:
RewriteRule ^index\.html$ index.php结果还是动态的,不是伪静态,为何这样呢????
● 一般服务器(虚拟主机)不会让你去配置httpd.conf的,都是通过 htaccess 或者httpd.ini来弄的,除非你是VPS服务器或者买的独立的主机。
● RewriteRule ^index\.html$ index.php 这个重写为什么失败了?因为index 都是一样的,文件名不能一样。 RewriteRule ^index\.html$ index2.php 这个就可以。
#LoadModule rewrite_module modules/mod_rewrite.so还有一个目录添加这两句的:Options FollowSymLinks AllowOverride All 然后根目录建立.htaccess文件,里面正则为:
Rewri……● 一般服务器(虚拟主机)不会让你去配置httpd.conf的,都是通过 htaccess 或者httpd.ini来弄的,除非你是VPS服务器或者买的独立的主机。
● RewriteRule ^index\.html$ index.php 这个重写为什么失败了?因为index 都是一样的,文件名不能一样。 RewriteRule ^index\.html$ index2.php 这个就可以。
我现在是在本地测试的,用了刚才你的办法,把文件名设置不一样,还是不行。
LoadModule rewrite_module modules/mod_rewrite.so
根目录建立.htaccess文件
Rewrite Engine onRewriteRuleindex.html$ index.php
RewriteRule (message|link)_(.*).html$ index.php?mod=$1&act=$2就這麼簡單
httpd.ini实现的,我的是win系统 所以用这个
就是把动态的网页作成 .html的