【问题标题】:MediaWiki with short URLs and SSL带有短 URL 和 SSL 的 MediaWiki
【发布时间】:2016-12-18 11:01:51
【问题描述】:

我正在尝试建立一个启用了短 URL 和 SSL 的 mediawiki 站点。我已经尝试了一段时间,这是我的设置:

RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
RewriteRule ^(.*)$ %{DOCUMENT_ROOT}/w/index.php [L]

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

RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} =http
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

代码启用 SSL,但问题是每个不安全的链接都被重定向到主页,而不是其 https 对应。

例如去: wiki.com/article 重定向到 https://wiki.com/main_page 而不是 https://wiki.com/article

我无法配置 apache,所以 htaccess 是我唯一的解决方案。有什么想法吗?

【问题讨论】:

  • 您还可以编辑 LocalSettings.php 文件并将 $wgServer 值从 http:// 更改为 https://。默认情况下,它将使 wiki 中的所有 url 安全

标签: .htaccess mod-rewrite ssl mediawiki


【解决方案1】:

我想通了。解决方案相当简单 - 我必须先显示 https 规则。

RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} =http
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
RewriteRule ^(.*)$ %{DOCUMENT_ROOT}/w/index.php [L]

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

【讨论】:

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