【问题标题】:How to enable a WordPress installation and a Mediawiki installation on the same subdomain?如何在同一个子域上启用 WordPress 安装和 Mediawiki 安装?
【发布时间】:2017-05-12 23:25:09
【问题描述】:

我有一个在其根目录安装 WordPress 的子域(例如 https://sub.domain.com)。这将打开 WordPress 的首页。

然后我在名为 w 的目录中安装了 Mediawiki 安装,并使用 ShortURL 方法将其重命名为 specified here in this Mediawiki documentation 并添加了必要的 .htaccess 调整以使 Mediawiki 安装使用此 url 结构:https://sub.domain.com/wiki

然后我在另一个名为 typ 的文件夹中添加了另一个 Mediawiki 安装,并按照上面详述的相同步骤进行操作。

我想为不同的目的安装 2 个 Mediawiki。它们没有相互关联。

但是,在安装 Mediawiki 之后,WordPress 接管了工作,当我尝试访问 /wiki 网址时,我从 WordPress 获得了一个 404 not found

这是我的.htaccess 代码:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

RewriteRule ^/?wiki(/.*)?$ %{DOCUMENT_ROOT}/w/index.php [L]
RewriteRule ^/?$ %{DOCUMENT_ROOT}/w/index.php [L]

RewriteRule ^/?typing(/.*)?$ %{DOCUMENT_ROOT}/typ/index.php [L]
RewriteRule ^/?$ %{DOCUMENT_ROOT}/typ/index.php [L]

RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
RewriteRule ^/?w/images/thumb/[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/([0-9]+)px-.*$ %{DOCUMENT_ROOT}/w/thumb.php?f=$1&width=$2 [L,QSA,B]

RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
RewriteRule ^/?w/images/thumb/archive/[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/([0-9]+)px-.*$ %{DOCUMENT_ROOT}/w/thumb.php?f=$1&width=$2&archived=1 [L,QSA,B]



</IfModule>
# END WordPress

# php -- BEGIN cPanel-generated handler, do not edit
# NOTE this account's php is controlled via FPM and the vhost, this is a place holder.
# Do not edit. This next line is to support the cPanel php wrapper (php_cli).
# AddType application/x-httpd-ea-php70 .php .phtml
# php -- END cPanel-generated handler, do not edit

显示 Mediawiki 安装的唯一方法是注释掉 WordPress 行,如下所示:

#RewriteBase /
#RewriteRule ^index\.php$ - [L]
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_FILENAME} !-d
#RewriteRule . /index.php [L]

我的问题是:有没有办法让所有安装同时工作?所以https://sub.domain.com打开WordPress安装,https://sub.domain.com/wikihttps://sub.domain.com/typing打开MEdiawiki安装?

【问题讨论】:

    标签: wordpress apache .htaccess mod-rewrite mediawiki


    【解决方案1】:

    我找到的唯一解决方案是将 Mediawiki 行移到 .htaccess 文件中,删除重复项。

    这是最终的有效代码:

    <IfModule mod_rewrite.c>
    RewriteEngine On
    
    RewriteRule ^/?wiki(/.*)?$ %{DOCUMENT_ROOT}/w/index.php [L]
    RewriteRule ^/?typing(/.*)?$ %{DOCUMENT_ROOT}/typ/index.php [L]
    
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    
    RewriteRule ^/?w/images/thumb/[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/([0-9]+)px-.*$ %{DOCUMENT_ROOT}/w/thumb.php?f=$1&width=$2 [L,QSA,B]
    RewriteRule ^/?w/images/thumb/archive/[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/([0-9]+)px-.*$ %{DOCUMENT_ROOT}/w/thumb.php?f=$1&width=$2&archived=1 [L,QSA,B]
    
    RewriteRule ^/?typ/images/thumb/[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/([0-9]+)px-.*$ %{DOCUMENT_ROOT}/typ/thumb.php?f=$1&width=$2 [L,QSA,B]
    RewriteRule ^/?typ/images/thumb/archive/[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/([0-9]+)px-.*$ %{DOCUMENT_ROOT}/typ/thumb.php?f=$1&width=$2&archived=1 [L,QSA,B]
    
    
    </IfModule>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多