PHP+Apache配置伪静态的问题。
目前网站是动态php的访问象a.php,b.php?id=1这样。想给它搞成伪静态的,让用户通过诸如a.html,b-1.html这样访问(注意:而不能通过原来的a.ph...
目前网站是动态php的访问象a.php,b.php?id=1这样。
想给它搞成伪静态的,让用户通过诸如a.html,b-1.html这样访问(注意:而不能通过原来的a.php,b.php?id=1访问,或者也可以说是不让用户知道这两个动态地址)。
我这是apache2+的版本,在apache的httpd.conf里面设置了一下:
LoadModule rewrite_module modules/mod_rewrite.so
<Directory "c:/www/sing">
rewriteengine on
rewritebase /
RewriteRule ^a.html$ a.php
RewriteRule ^b-(.*).html$ b.php?id=$1
</Directory>
就上面这最最简单的例子。把html直接解析成php。
现在的问题是:默认访问网站,还是以原来的.php动态形式展现出来。但是把后缀改成html也能访问。(即:a.php和a.html均能访问。但默认还是a.php。没有成为a.html)。
我想了解一是不是我哪里写错了?或是除了我在apache中配置外,还必须在原来的前台文件中把相应的动态网址也改成静态的?如果<a href="a.php"> 要改成<a href="a.html">?以此来达到“隐藏a.php"的目的??? 展开
想给它搞成伪静态的,让用户通过诸如a.html,b-1.html这样访问(注意:而不能通过原来的a.php,b.php?id=1访问,或者也可以说是不让用户知道这两个动态地址)。
我这是apache2+的版本,在apache的httpd.conf里面设置了一下:
LoadModule rewrite_module modules/mod_rewrite.so
<Directory "c:/www/sing">
rewriteengine on
rewritebase /
RewriteRule ^a.html$ a.php
RewriteRule ^b-(.*).html$ b.php?id=$1
</Directory>
就上面这最最简单的例子。把html直接解析成php。
现在的问题是:默认访问网站,还是以原来的.php动态形式展现出来。但是把后缀改成html也能访问。(即:a.php和a.html均能访问。但默认还是a.php。没有成为a.html)。
我想了解一是不是我哪里写错了?或是除了我在apache中配置外,还必须在原来的前台文件中把相应的动态网址也改成静态的?如果<a href="a.php"> 要改成<a href="a.html">?以此来达到“隐藏a.php"的目的??? 展开
3个回答
展开全部
在网站的根目录创建一个.htaccess这样的文件
然后你写上伪静态的UEL规则
RewriteEngine On
RewriteRule ^(.*)content-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/index\.php\?m=content&c=index&a=show&catid=$2&id=$3&page=$4
RewriteRule ^(.*)show-([0-9]+)-([0-9]+)-([0-9]+).html$ $1/index\.php\?m=content&c=index&a=show&catid=$2&id=$3&page=$4
RewriteRule ^(.*)list-([0-9]+)-([0-9]+).html$ $1/index\.php\?m=content&c=index&a=lists&catid=$2&page=$3
这样就配置完成了
PS:伪静态的URL规则可以在网上找的
更多追问追答
追问
谢谢解答。但是还没回答到我的核心问题。
只需要规则就可以让.php原文件访问不了?(或是让用户看不见这个动态的php文件?)
我主要是想确定一下是不是前台源码也得改:
象我目前的一些代码中如果,这样是否必须改成?以此来达到“隐藏a.php"的目的???
关键是上面这句话。
佳达源
2024-10-28 广告
2024-10-28 广告
AR0144CSSM20SUKA0-CPBR这款产品,作为我司产品线中的重要一员,集成了高精度的传感器技术与先进的图像处理算法,广泛应用于安防监控、工业自动化及机器视觉等领域。其卓越的性能与稳定性,确保了在各种复杂环境下的精准数据采集与高效...
点击进入详情页
本回答由佳达源提供
展开全部
php+apache服务设置伪静态其实是最简单的一种,根据服务器所属的类型写进去相应的规则就可以了,无论如何,基础优化部分,伪静态是必须要设置好的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你没有错,重写就像是个障眼法 所有呢 ,你重写的其实最终访问的还是以前的动态页面 动态页面也是一如既往的可以访问 就想discuz论坛,有的网站用了重写,如果你用的没重写的动态页面去访问,也是一样的,别纠结这个问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询