0

我已经为我的服务器设置了“dokuwiki”。
它存储在/usr/share/wiki文件夹中。
所以路径是/usr/share/wiki/doku.php

当我访问http://example.com/wiki/start时,我得到 404 Not found。

我的 .htaccess 有什么问题?
我怀疑RewriteBase是否有问题

.htaccess

## Enable this to restrict editing to logged in users only
 
## You should disable Indexes and MultiViews either here or in the
## global config. Symlinks maybe needed for URL rewriting.
#Options -Indexes -MultiViews +FollowSymLinks
 
## make sure nobody gets the htaccess files
<Files ~ "^[\._]ht">
    Order allow,deny
    Deny from all
    Satisfy All
</Files>
 
## Uncomment these rules if you want to have nice URLs using
## $conf['userewrite'] = 1 - not needed for rewrite mode 2
RewriteEngine on
#
## Not all installations will require the following line.  If you do,
## change "/dokuwiki" to the path to your dokuwiki directory relative
## to your document root.
RewriteBase /wiki
#
## If you enable DokuWikis XML-RPC interface, you should consider to
## restrict access to it over HTTPS only! Uncomment the following two
## rules if your server setup allows HTTPS.
RewriteCond % !=on
RewriteRule ^lib/exe/xmlrpc.php$      https://%% [L,R=301]

RewriteRule ^_media/(.*)              lib/exe/fetch.php?media=$1  [QSA,L]
RewriteRule ^_detail/(.*)             lib/exe/detail.php?media=$1  [QSA,L]
RewriteRule ^_export/([^/]+)/(.*)     doku.php?do=export_$1&id=$2  [QSA,L]
RewriteRule ^$                        doku.php  [L]
RewriteCond %       !-f
RewriteCond %       !-d
RewriteRule (.*)                      doku.php?id=$1  [QSA,L]
RewriteRule ^index.php$               doku.php

等/httpd/conf.d

# enter the following in pico
Alias /wiki/ "/usr/share/wiki/"
Alias /wiki "/usr/share/wiki/"
<Directory "/usr/share/wiki/" >
  Options Indexes FollowSymLinks MultiViews
  AllowOverride None
  Order allow,deny
  Allow from all
  Deny from none

</Directory>
4

2 回答 2

1
#Fix Rewrite
Options -Multiviews


# Mod Rewrite
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

或最后使用下面的行

RewriteRule ^(.*)$ index.php/$1 [PT,L]  

不好意思推迟了..

于 2013-01-08T07:13:48.947 回答
0

它在您的本地主机上正常工作吗?

如果是,您必须根据您的托管服务器修改.htaccess 。

因为很多时候托管服务器可能托管多个站点。他们相应地有不同的.htacces

于 2013-01-08T06:26:50.057 回答