将Azure Web应用程序(Wordpress)的主域设置为www

时间:2016-11-15 05:30:51

标签: wordpress azure dns web-config azure-web-sites

我无法按照自己的方式制作Wordpress自定义域地图。我想要的是我的域名总是重写为“www”版本,所以www.mydomain.com而不是同时拥有www.mydomain.com和mydomain.com。我知道两者都必须被映射以在Azure的服务中创建vhost(我已经看到了这个问题的非答案。)我确实找到了一种方法,通过从Wordpress配置中删除下面的方式来做到这一点然后在Wordpress数据库中设置www域:

define('WP_HOME', 'http://'. filter_input(INPUT_SERVER, 'HTTP_HOST', FILTER_SANITIZE_STRING));
define('WP_SITEURL', 'http://'. filter_input(INPUT_SERVER, 'HTTP_HOST', FILTER_SANITIZE_STRING));
define('WP_CONTENT_URL', '/wp-content');
define('DOMAIN_CURRENT_SITE', filter_input(INPUT_SERVER, 'HTTP_HOST', FILTER_SANITIZE_STRING));

我发现,通过这样做,当我设置一个CDN端点从webapp源启动时,它没有正确拉(在所有3层),我想因为它无法访问默认值azurewebsites.net域名。如果您只使用自定义源,它将无法解析文件。我发现这一点是因为我的未映射域的网站会解析所有CDN文件,而自定义域会失败。

那么,必须有一种方法可以从web.config文件中将非www重写为www,不是吗?我环顾四周,没有找到答案。我确实在StackOverflow上找到了下面这个,但它只会导致我的服务器错误:

<rewrite>
<rules>
<rule name="Redirect to www">
  <match url=".*" />
  <conditions logicalGrouping="MatchAny">
    <add input="{HTTP_HOST}" pattern="^(www\.)(.*)$" negate="true" />
  </conditions>
  <action type="Redirect" url="http://www.{HTTP_HOST}/{R:0}" redirectType="Permanent"/>
</rule>
</rules>
</rewrite>

我错过了什么?

我不希望www和非www都可见,因为我知道有些搜索引擎会将它们标记为重复内容并惩罚列表。同时拥有两者也不是最佳实践。一个人应该只重写另一个,无论你偏好。

0 个答案:

没有答案