2009-12-16 144 views
0

我正在运行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中,而是在第二个。

+0

cmon,它不应该那么难? – 2009-12-16 18:23:55

+0

BTW,手册:https://www.mediawiki.org/wiki/Manual:Short_URL – Nemo 2015-04-06 17:17:56

回答

0

显然改变了规则,主要的.htaccess到:

RewriteCond %{HTTP_HOST} ^www.mansonwiki.com$ 
RewriteCond %{REQUEST_URI} ^/$ 
RewriteRule ^(.*)$ wiki/Main_Page [R,L] 

RewriteCond %{HTTP_HOST} ^www.mansonwiki.com$ 
RewriteRule ^(.*)$ mansonwiki.com/$1 [L] 

的伎俩。不是很整洁,但它的工作原理。