我在我的网络根目录上运行了Mediawiki安装。例如。主页可以通过
访问http://example.com/index.php?title=Main_Page
我想更改它,以便短网址
http://example.com/Main_Page
我的配置如下
#.htaccess
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^(.*)$ /index.php?title=$1 [PT,L,QSA]
RewriteRule ^.*$ /index.php [L,QSA]
// LocalSettings.php
$wgScriptPath = "..";
$wgArticlePath = "/$1";
$wgUsePathInfo = true;
但是这个配置出现了500错误。
这是一个有~/user_root/
文件夹的服务器。该文件夹包含用户根域的公共HTML文件,例如user-root.com
。
该文件夹包含多个子文件夹,例如在这种情况下~/user_root/example
,可以通过上面提到的网址example.com
访问。
问题是基于此文件夹/子文件夹层次结构和$wgScriptPath
设置吗?应
$wgScriptPath = "..";
被这个相对路径以外的其他东西取代?如果您需要更多信息,请告知。
答案 0 :(得分:5)
是的,您的$wgScriptPath
错了。使用:
$wgScriptPath = "/";
你的重写规则似乎也不太可能是你想要的,尤其是^.*$ /index.php
(尽管它可能是无害的,最后一次)。
如果您使用的是根网址而不是普通的短网址,则需要使用以下内容 相反(确保现有文件和目录不被视为文章,例如"
/index.php
""/images
"等等。)RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d RewriteRule ^(.*)$ %{DOCUMENT_ROOT}/w/index.php [L]
(Source)