大家好,我使用碰到一个问题,望赐教。
问题如下:
1. 环境:wiki原先搭建在本地(使用apache),后迁移至自己的vps(nginx)
2. wiki内图片无法显示,无论从页面还是从媒体管理器里
3. 其中一个图片的img url和超链接如下:
http://wiki.xdays.info/_media/monitor:cacti:cacti-componets.jpg?w=200
http://wiki.xdays.info/_detail/monitor:cacti:cacti-componets.jpg?id=monitor%3Acacti%3Aconfigure
对应在媒体管理器里的img url和超链接如下:
http://wiki.xdays.info/_media/monitor:cacti:cacti-componets.jpg?t=1339780029&w=500&h=193
http://wiki.xdays.info/_media/monitor:cacti:cacti-componets.jpg?t=1339780029&w=500&h=193
4. nginx针对此wiki的配置文件如下:
server
{
listen 80;
server_name wiki.xdays.info;
index index.html index.htm index.php;
root /home/wwwroot/wiki;
location / {
index doku.php;
try_files $uri $uri/ @dokuwiki;
}
location @dokuwiki {
rewrite ^/_media/(.*) /lib/exe/fetch.php?media=$1 last;
rewrite ^/_detail/(.*) /lib/exe/detail.php?media=$1 last;
rewrite ^/_export/([^/]+)/(.*) /doku.php?do=export_$1&id=$2 last;
rewrite ^/(.*) /doku.php?id=$1 last;
}
location ~ .*\.(php|php5)?$
{
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fcgi.conf;
}
location /status {
stub_status on;
access_log off;
}
location ~ /(data|conf|bin|inc)/ {
deny all;
}
location ~ /\.ht {
deny all;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 12h;
}
access_log /home/wwwlogs/wiki.log access;
}
5. dokuwiki的配置文件如下:
<?php
/*
* Dokuwiki's Main Configuration File - Local Settings
* Auto-generated by config plugin
* Run for user: xdays
* Date: Sat, 16 Jun 2012 00:41:17 +0800
*/
$conf['title'] = 'xdays';
$conf['license'] = 'cc-by-sa';
$conf['useacl'] = 1;
$conf['superuser'] = '@admin';
$conf['updatecheck'] = 0;
$conf['userewrite'] = '1';
$conf['canonical'] = 1;
// end auto-generated content
另外:
我根据nginx的rewrite规则手动修改url访问
http://wiki.xdays.info/lib/exe/fetch.php?media=monitor:cacti:cacti-componets.jpg?t=1339780029&w=500&h=193 这个url无法访问,同时发现url中出现了两个问号?,故将后边的换成了&,得到如下url:
http://wiki.xdays.info/lib/exe/fetch.php?media=monitor:cacti:cacti-componets.jpg&t=1339780029&w=500&h=193
这个url可以正常访问。
我不懂php,听一朋友说url中不可能出现两个?;所以疑问,既然nginx rewrite规则没有问题会不会是dokuwiki的某个地方配置不正确导致返回的图片的url中不正确。
请各位赐教,在此先表示感谢。