将主域重写为文件夹

时间:2009-12-16 17:01:18

标签: .htaccess

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

1 个答案:

答案 0 :(得分: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]

做了这个伎俩。不是很整洁,但它确实有效。