设为首页 收藏本站
查看: 551|回复: 0

[经验分享] apache 伪静态测试使用

[复制链接]
发表于 2017-1-2 06:10:52 | 显示全部楼层 |阅读模式
在学习apache或使用PHP处理伪静态前得先了解伪静态的特点和优点,去了...

述:看了一些文章伪静态无非就是可以让搜索引擎更好的收录。其实不论是真的还是伪的,其实对于搜索引擎来说

都是一样的,搜索引擎没有说,你这个是伪的,我不收录你.揪根掘底的来说,为什么搜索引擎会不收录带问号的网址

?因为搜索引擎怕由于问号而进入死循环(以前动网就有这样一个漏洞,蜘蛛进去出不来了),所以很多时候带问号的

地址是不会进去的,伪静态对于搜索引擎来说,其实就是静态,因为地址中没有带问号,所以没有真静态比伪静态收

录得多的说法.

首先当然是配置文件
第一步:要找到apache安装目录下的httpd.conf文件,在当中找到:
<Directory />
Options FollowSymLinks
AllowOverride none
</Directory>
将none改all,AllowOverride指令按类别决定了.htaccess文件中哪些指令才是有效的。如果一个指令允

许在.htaccess中使用,那么在本手册的说明中,此指令会有一个覆盖项段,其中说明了为使此指令生效而必须在

AllowOverride指令中设置的值。
<Directory 目录>这的目录应与DocumentRoot中的目录相同

第二步:找到以下内容
#LoadModule rewrite_module modules/mod_rewrite.so
将#号去掉,可使用httpd 应用程序查看rewrite_module模块是否载入(httpd -M)

OK配置成功,保存重启apache

测试基于.htaccess文件的功能:

在这我使用的的ErrorDocument 404 /error.php 进行测试。
[测试当中并没有出现想要的结果,而后我去查看error.log日志,当中显示的是以根目录/error.php的

地址,这也说明了配置成功。在根目录中新建error.php文件->测试时也没有成功的转向到error.php页面,配置

成功却没有转向是目录的问题??使用绝对地址http://www.****.com/error.php行了]


使用.htaccess文件的不足:

1、性能 AllowOverride启用了使用.htaccess文件,则apache需要在每个目录中查找.htaccess文件。因此会导致

性能下降。另外对每一个请求,都需要读取一次.htaccess文件,还有 apache必须在所有上级的目录中查

找.htaccess文件以使有效的指令都起作用,比如如果客户端请求/www/htdocs/help中的页面。服务器必须查找
/.htaccess
/www/.htaccess
/www/htdocs/.htaccess
/www/htdocs/help/.htaccess
四个额外文件(即使这些文件都不存在,当然你可以仅仅允许根目录使用.htaccess文件),也就是说目录深度越

深,则访问的额外文件越多,性能越低了。
2、安全
由于在/www/htdocs/help下面的.htaccess文件中放置指令与在主配置文件中<Directory /www/htdocs/help>中放

置相同的指令是完全等效的,这样允许用户自己修改服务器配置,
可能就会导致某些不愿意发生的意想不到的修改,这样就会造成服务器安全问题。这样你就必须考虑是否设置

AllowOverride None来完全禁用.htaccess文件。


使用:URL重写(简单)

RewriteEngine on
RewriteBase /
RewriteRule ^tt_([0-9]*).html$ test.php?id=$1 [R]

释:    RewriteEngine ,这是打开或关闭运行时的重写引擎
RewriteBase / ,这是设置指定路径的基准URL也就是[/test.php?id=$1]这样的
RewriteRule ,为重写引擎定义重写规则

注:我在使用时误解了RewriteBase的意思,以为在RewriteBule中的路径都是以/开始的,其实不然,在apache中

开启伪静态运行时,都会试图在不同的目录寻找.htaccess文件运行当中的规则。所以URL都是以.htaccess为基准

的。
如.htaccess放在根目录中伪静态是www.***.com/tt_11.html运行的,而被从写的URL是以RewriteBace为基准的

如.htaccess放在/user目录中伪静态是www.***.com/user/tt_11.html运行的


述:Rewrite apache重写技术的使用就不详说了,当然在使用前必须要会使用正则表达式,了解apache的基本配置

,从写规则可从apache参考手册学习,我也是从那里着手的。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-322471-1-1.html 上篇帖子: apache转发 js 跨域 下篇帖子: Apache整合SVN的问题
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

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