【发布时间】:2016-06-11 13:21:43
【问题描述】:
我在我的域的主目录 /public_html/ 上安装了一个媒体 wiki,并且有 short URLs enabled 到 http://example.org/wiki/Page_title,所以我有一个具有以下规则的 .htaccess 文件
# Enable the rewrite engine
RewriteEngine On
# Short url for wiki pages
RewriteRule ^/?wiki(/.*)?$ %{DOCUMENT_ROOT}/index.php [L]
# Redirect / to Main Page
RewriteRule ^/*$ %{DOCUMENT_ROOT}/index.php [L]
我想在该域的主目录中安装其他应用程序,因此我尝试将此媒体 wiki 安装从根目录 /public_html/ 移动到 /public_html/w/,同时保持相同的短 url 格式。所以我所做的只是将内容从主目录复制到/public_html/w/目录并将.htaccess规则修改为
## http://www.mediawiki.org/wiki/Manual:Short_URL/Apache
# Enable the rewrite engine
RewriteEngine On
# Short url for wiki pages
RewriteRule ^/?wiki(/.*)?$ %{DOCUMENT_ROOT}/w/index.php [L]
# Redirect / to Main Page
RewriteRule ^/*$ %{DOCUMENT_ROOT}/w/index.php [L]
并且还从
修改新目录下的LocalSettings.php文件
$wgScriptPath = "";
$wgScriptExtension = ".php";
$wgArticlePath = "/wiki/$1";
$wgUsePathInfo = true;
到
$wgScriptPath = "/w";
$wgScriptExtension = ".php";
$wgArticlePath = "/wiki/$1";
$wgUsePathInfo = true;
理论上,因为它使用相同的数据库和所有相同的设置,所以我需要更改的只是 htaccess 和 localsettings.php 目录,它应该可以正常工作,但在我尝试之后,我收到了 500 服务器错误,并且网站是根本不工作,在我检查了 apache/php 错误日志后,我发现了很多相同的东西
[Sun Feb 28 13:59:14.477785 2016] [:error] [pid 12164] [client SERVER IP] script '/home/admin/web/MY DOMAIN/public_html/index.php' not found or unable to stat
[Sun Feb 28 13:59:21.854117 2016] [:error] [pid 12165] [client SERVER IP] script '/home/admin/web/MY DOMAIN/public_html/index.php' not found or unable to stat
[Sun Feb 28 13:59:32.073190 2016] [:error] [pid 12374] [client SERVER IP] script '/home/admin/web/MY DOMAIN/public_html/index.php' not found or unable to stat
[Sun Feb 28 13:59:33.574025 2016] [:error] [pid 12166] [client SERVER IP] script '/home/admin/web/MY DOMAIN/public_html/index.php' not found or unable to stat
[Sun Feb 28 13:59:35.873162 2016] [:error] [pid 12167] [client SERVER IP] PHP Warning: require_once(/home/admin/web/MY DOMAIN/public_html/w/extensions/MsUpload/msupload.php): failed to open stream: No such file or directory in /home/admin/web/MY DOMAIN/public_html/w/LocalSettings.php on line 301
[Sun Feb 28 13:59:35.873207 2016] [:error] [pid 12167] [client SERVER IP] PHP Fatal error: require_once(): Failed opening required '/home/admin/web/MY DOMAIN/public_html/w/extensions/MsUpload/msupload.php' (include_path='.:/usr/share/php:/usr/share/pear') in /home/admin/web/MY DOMAIN/public_html/w/LocalSettings.php on line 301
请注意,第一个错误仍然指的是以前的根目录 /public_html/,而扩展错误已经指的是 /public_html/w/ 目录
我不知道我在哪里出错了,所以我希望能得到一些帮助。到目前为止,我必须还原更改并恢复对旧目录的备份,但我仍然想移动 wiki 目录。
【问题讨论】:
-
您应该对文件执行 grep 以查看是否存在具有旧路径的配置文件。此外,您应该查看数据库,看看是否还有其他设置。例如 wordpress 使用 wp_config.php 来保存一些设置,而另一些则保存在数据库中。
标签: php apache .htaccess mod-rewrite mediawiki