58cms谈谈Apache伪静态的配置的一些方法
2019-03-10 浏览:248次 作者:成都晨宇网络科技公司
今天有一个客户问我,动态网站怎么设置伪静态,当时我也是一一作答的,现在把它写出来,让网站朋友们参考和指点。下面58cms谈谈Apache伪静态的配置的一些方法,希望能帮到你们:
一、步骤:
1、让Apache支持mod_rewrite配置httpd.conf文件,将#LoadModulerewrite_module
modules/mod_rewrite.so前面的"#"去掉
2、配置文件中找到:AllowOverrideNone,将其‘None’修改为All
3、选择两种方式。
1.配置httpd.conf文件,让他支持伪静态一些自定义方式
RewriteEngineOn
RewriteRuleindex\.htmlindex\.php#自定义规则
RewriteRule(.*)\.html$1\.php[L]#自定义规则匹配所有页面
其中RewriteEngineOn不能少,其他为可自定义的伪静态规则
2.配置".htaccess"文件到网站需要的目录
RewriteEngineon#在httpd.conf中可以有,也可没有
RewriteRule^product/(.*)/([0-9]*)$product\.php\?$1=$2#自定义规则
二、规则定义的方法
1、语法:采用正则表达式的方式
2、在表达式中第一个"$"表示需要替换或者变化的地址结束
3、除第一个“$”外,后面的“$”的后面都回跟一个数字,表示替换前面的第几个()中定义的匹配方式
如:^product/(.*)/([0-9]*)$product\.php?$1=$2
#$1将替换成(.*)的内容,$2将替换成([0-9])的内容。
三、RewriteCond语法
RewriteCondTestStringCondPattern,TestString为被检查的对象,CondPattern
为进行匹配的规则
判断访问到此网页的上一页URL是否包含wooght字符:
RewriteCond%{HTTP_REFERER}!(wooght)
-d是否是一个目录,-f是否是一个文件,=相等
现在规定,连接到本站的网站www.baidu.com只能访问index.php页面
RewriteCond%{HTTP_REFERER}(www.baidu.com)
RewriteRule(.*)$index.php
完整的.htaccess如下:
RewriteEngineOn
RewriteCond%{HTTP_REFERER}(www.baidu.com)
RewriteRule(.*)$index.php
HTTP_REFERER表示域名,REQUEST_FILENAME表示连接过来的文件名称
四、错误代码处理
当找不到页面时,定位到当前目录下的errors目录下的404.html
ErrorDocument404/errors/404.html,也可不写页面,直接输出内容,ErrorDocument401
'你无权访问该页面!'
上一篇:如何来做好你的一个网站
注:成都晨宇网络科技公司自由网络,专业提供网站推广服务,有需要咨询欢迎联系我们在线客服。