【问题标题】:Rewrite main domain to folder将主域重写到文件夹
【发布时间】: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 中,而应该出现在第二个中。

【问题讨论】:

标签: .htaccess


【解决方案1】:

显然将主 .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]

成功了。不是很整洁,但很有效。

【讨论】:

    猜你喜欢
    • 2017-12-24
    • 1970-01-01
    • 1970-01-01
    • 2012-04-10
    • 1970-01-01
    • 2014-06-30
    • 2012-11-20
    • 2021-11-22
    • 1970-01-01
    相关资源
    最近更新 更多