【发布时间】:2009-12-16 17:01:18
【问题描述】:
我正在运行 MediaWiki 安装,为此我最近从插件域 (cpanel) 切换到停放域,因为这样更便宜,而且使用 .htaccess 我仍然可以重定向所有内容。这适用于多个域,包括这个域,但现在发生另一个错误。
停放域时,我将其重定向到 /public_html/,其中我有以下 .htaccess 规则:
RewriteCond %{HTTP_HOST} ^(.*\.)?thedomain.com$
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule (.*) http://www.thedomain.com/$1 [R=301]
RewriteCond %{HTTP_HOST} ^www.thedomain.com$
RewriteRule ^(.*)$ thedomain.com/$1 [L]
因此强制使用 www,然后将其重定向到我服务器上的 thedomain.com/ 文件夹
如前所述,这一切都与插件槽一样好用,所以我想保持这种方式。
在 thedomain.com/ 文件夹中,我有以下规则:
#main page
RewriteCond %{REQUEST_URI} ^/$
RewriteRule (.*) /wiki/Main_Page [R,L]
此规则的目标是将访问 www.thedomain.com 的每个人直接重定向到 wiki 的主页。这总是可以工作的,但是由于我如上所述使用了 .htaccess(对于停放的域),所以我只在 thedomain.com/ 文件夹中获得了我的文件列表。为什么这条规则没有重定向到正确的页面?
当我手动输入 www.thedomain.com/wiki/Main_Page 时,它可以工作,这表明问题不应该出现在第一个 .htaccess 中,而应该出现在第二个中。
【问题讨论】:
-
cmon,应该没那么难吧?
-
顺便说一句,手册:mediawiki.org/wiki/Manual:Short_URL
标签: .htaccess