免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4545 | 回复: 0
打印 上一主题 下一主题

[Web] 如何对根目录设置重写而子目录设置不使用url重写 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-04-16 18:34 |只看该作者 |倒序浏览
本帖最后由 yum2014 于 2013-04-16 18:44 编辑

主站是dokuwiki程序跑起来的wiki站点。
nginx的配置文件是
  1. server {
  2.     listen   80; ## listen for ipv4; this line is default and implied

  3.     root /home/data/wiki.domain.com;
  4.     index doku.php index.php index.html index.htm;

  5.     server_name wiki.domain.com;

  6.     location / {
  7.         index doku.php;
  8.         #try_files $uri $uri/;
  9.         try_files $uri $uri/ @dokuwiki;
  10.     }
  11.     location @dokuwiki {
  12.         rewrite ^/_media/(.*) /lib/exe/fetch.php?media=$1 last;
  13.         rewrite ^/_detail/(.*) /lib/exe/detail.php?media=$1 last;
  14.         rewrite ^/_export/([^/]+)/(.*) /doku.php?do=export_$1&id=$2 last;
  15.         rewrite ^/(.*) /doku.php?id=$1 last;
  16.     }

  17.     location /doc {
  18.         root /usr/share;
  19.         autoindex on;
  20.         allow 127.0.0.1;
  21.         deny all;
  22.     }
  23.     location /images {
  24.         root /usr/share;
  25.         autoindex off;
  26.     }

  27.     location ~ \.php$ {
  28.         fastcgi_pass 127.0.0.1:9000;
  29.         fastcgi_index index.php;
  30.         fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  31.         include fastcgi_params;
  32.     }
  33. }
复制代码
配合dokuwiki管理后台内部的
Advanced Settings部分的userewrite===>Use nice URLs项目设置为.htacess。则可以使用

但是我希望在这个网站内再建立一个子目录。
比如在
domain.com/learnphp/下面建立一些自习php的程序。

于是修改domain.com.conf。
在location /images段落上面建立一个
    location /learnphp {
        root /opt/;
    }
而后重启nginx       
但是访问
http://wiki.domain.com/learnphp/2.php报告file not found!

错误日志显示
2013/04/16 17:49:19 [error] 7242#0: *1 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 192.168.0.139, server: wiki.domain.com, request: "GET /learnphp/2.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "wiki.domain.com"

注意:在/opt/learnphp/目录下,建立一个1.htm文件。通过 http://wiki.domain.com/learnphp/1.htm 是可以访问到的!!


求问。如何对子目录设置不重写?

ps:仅仅搜到了。如何在子目录中使用另外的rewrite规则的例子------http://ilost.info/176
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP