以下是我们文件的相关部分.htaccess
:
RewriteEngine On
RewriteBase /
RewriteRule ^download.shtml /en/downloads [R]
# Don't rewrite requests for files in MediaWiki subdirectories,
# MediaWiki PHP files, HTTP error documents, favicon.ico, or robots.txt
RewriteCond %{REQUEST_URI} !^/(stylesheets|images|skins)/
RewriteCond %{REQUEST_URI} !^/(redirect|texvc|index).php
RewriteCond %{REQUEST_URI} !^/error/(40(1|3|4)|500).html
RewriteCond %{REQUEST_URI} !^/favicon.ico
RewriteCond %{REQUEST_URI} !^/robots.txt
# Rewrite http://wiki.domain.tld/article properly, this is the main rule
RewriteRule ^(.*)$ /index.php/?title=$1 [L,QSA]
问题是,我们正在与现有的 MediaWiki 规则作斗争,我很难说清楚到底发生了什么。问题似乎是,当我们访问 download.shtml 时,它会带我们到Awiki 页面,但显示“此页面目前没有文本。”而实际上当我使用/en/downloads
它访问该页面时确实显示了我们的下载页面。
答案1
您可能想尝试为 downloads.shtml 页面添加一个条件,以便它在您的第二条重写规则中忽略它。就像这样。
RewriteCond %{REQUEST_URI} !^/downloads.shtml