使用 IIS7 共享主机上的多个 Wordpress 和 ASP.NET MVC 2 网站

使用 IIS7 共享主机上的多个 Wordpress 和 ASP.NET MVC 2 网站

我在 GoDaddy 设置了一个共享主机帐户。我想在同一个帐户上托管多个网站,每个网站都有自己的域名。每个网站将位于其自己的子文件夹中,根目录中只有包含 URL 重写规则的 web.config。我基本上可以正常工作,但无法让 URL 按照我的喜好工作。

我拥有的一个网站是 Wordpress 安装的。这个网站的问题在于我无法使“漂亮”永久链接正常工作。我需要将 index.php 或它所在的子文件夹作为永久链接的一部分包含进去。

我还将托管 ASP.NET MVC 2 应用程序,但目前我想专注于 Wordpress 问题,因为这更为紧迫。我之所以提到这些其他网站,是因为我想更好地说明我的计划。

在根目录中,我有以下 web.config 文件:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.web>
        <identity impersonate="false" /> 
    </system.web>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="somewordpresssite.com" stopProcessing="true">
                    <match url=".*" />
                    <conditions>
                        <add input="{HTTP_HOST}" pattern="^(www.)?somewordpresssite.com" />
                        <add input="{PATH_INFO}" pattern="^/somewordpresssite/" negate="true" />
                    </conditions>
                    <action type="Rewrite" url="\somewordpresssite\{R:0}" />
                </rule>
                <rule name="someaspnetmvcsite.com" stopProcessing="true">
                    <match url=".*" />
                    <conditions>
                        <add input="{HTTP_HOST}" pattern="^(www.)?someaspnetmvcsite.com" />
                        <add input="{PATH_INFO}" pattern="^/someaspnetmvcsite/" negate="true" />
                    </conditions>
                    <action type="Rewrite" url="\someaspnetmvcsite\{R:0}" />
                </rule>
            </rules>
        </rewrite>
        <directoryBrowse enabled="false" />
    </system.webServer>
</configuration>

然后,在我的 Wordpress 子文件夹中,我有 Wordpress 站点的 web.config:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="wordpress" patternSyntax="Wildcard">
                    <match url="*"/>
                    <conditions>
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/>
                        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true"/>
                    </conditions>
                    <action type="Rewrite" url="index.php"/>
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

根目录中的 URL 重写规则似乎有效,至少足以让两个域指向两个不同的网站。我需要做些什么才能在我的 Worpress 网站中获得漂亮的永久链接吗?

答案1

事实证明,我需要更改 GoDaddy 上的域配置才能获得我想要的永久链接。我所描述的问题最终只对我的默认域造成问题,即使我已将其重定向到子文件夹。我需要做的是创建一个虚假域作为我的默认域,这样我就可以让真正的默认域指向子文件夹,而不是重定向到子文件夹。这看起来有点荒谬,但确实有效。

以下是 GoDaddy 帮助文章,其中解释了该过程:http://community.godaddy.com/help/article/4067

按照文章中的步骤操作后(花了 24 个多小时才完成处理),我还可以删除最初放在根目录中的 web.config 文件。

相关内容