Rewrite配置(Apache/Nginx/iis7+)

发布:2017-09-16 04:24   点击:146次   回复:0

此文档适合即将发布的:v3.9


Apache Rewrite配置

  • 确认Apache已经正确加载了mod_rewrite模块
  • 测试:
    • /@read/rew/entry1.php 以及出来的连接,都可点击打开
  • 配置服务器:
    • 复制: .htaccess/web.config 到根目录
    • 根据需要修改文件中entry1,entry2chn,mob
  • 配置本系统:
    • \imcat\root\cfgs\sycfg\sy_vopcfg.php
    • $_sy_vopcfg['tpl']某一节点如['doc'] 下,配合如下两行:
    • '/', // 伪静态配置:把`.php?` ->替换为 `/`
    • '.htm', // 伪静态后缀

iis7+ Rewrite配置

  • 下载安装:URL Rewrite
  • 后续配置,与 Apache 的 测试 配置 相同
  • iis6设置有所不同,自行找参考资料
    • iis6 是 Win2003的产物,而php5.5开始就不支持win2003了,
    • 服务器建议用 Apache/Nginx 环境;win环境建议用win2008以上正版系统

Nginx Rewrite配置

  • Nginx下设置伪静态方法与Apache差不多,
    • 直接在nginx.conf (或者在对应的*.conf) 中找到需设置伪静态规则的服务器对应字段,
    • 在server{ location/{ } }中添加代码:
  • 参考:

百度BAE空间 配置

  • 配置 app.conf 文件(演示站demo):
  - url : ^/dev/([\w|\.|\-|\_]+)\.htm$
    script : /dev.php?$1
  - url : ^/doc/([\w|\.|\-|\_]+)\.htm$
    script : /doc.php?$1

注意事项

  • 如果是iis,一个站点中有多个 web.config 文件
    • 请修改 <rule name="import.htaccess"> 里面的名称(name属性),使其各不相同,否则有如下错误
    • 提示为:在唯一密钥属性“name”设置为“imroot.htaccess”时,无法添加类型为“rule”的重复集合项
    • 错误行类似:<rule name="imroot.htaccess"> (修改name属性即可)

参考资源

状态:开放 Makedown 推荐   bug编号: ---
回复(0条)   >>我来回复 回复列表

关于 GitHub 导航 部门 反馈

提示:`/chn.php`入口数据仅为演示功能,不构成任何交易凭证,也不承担相关风险和责任!

Copyright © 2011-2018 xxxxx.com All rights reserved. 粤ICP备07020797号.

Done:151.519/54.251(ms); 6(queries)/2.407(MB); Tpl:faqs/detail; Upd:2018-11-18 10:38:40