Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Windows Azure上托管的Ghost博客的URL重写规则_Node.js_Azure_Url Rewriting_Ghost - Fatal编程技术网

Node.js Windows Azure上托管的Ghost博客的URL重写规则

Node.js Windows Azure上托管的Ghost博客的URL重写规则,node.js,azure,url-rewriting,ghost,Node.js,Azure,Url Rewriting,Ghost,我正在尝试使用Windows Azure上托管的Ghost建立博客 我已经使用GitHub上创建的预配置repo部署并设置了所有内容 一切都按预期进行,我在自己的域名上配置了记录,这些记录在您导航到该站点时起作用 我遇到的问题是*.azurewebsites.net域名出现在搜索引擎结果中,当您导航(例如,到www.mysite.com/rss)时,它会关闭自定义域名,并将其替换为内置的azurewebsites one 查看web.config,有两条重写规则 <rules>

我正在尝试使用Windows Azure上托管的Ghost建立博客

我已经使用GitHub上创建的预配置repo部署并设置了所有内容

一切都按预期进行,我在自己的域名上配置了记录,这些记录在您导航到该站点时起作用

我遇到的问题是*.azurewebsites.net域名出现在搜索引擎结果中,当您导航(例如,到www.mysite.com/rss)时,它会关闭自定义域名,并将其替换为内置的azurewebsites one

查看web.config,有两条重写规则

<rules>
    <rule name="StaticContent">
      <action type="Rewrite" url="public{REQUEST_URI}"/>
    </rule>
    <rule name="DynamicContent">
      <conditions>
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="True"/>
      </conditions>
      <action type="Rewrite" url="index.js"/>
    </rule>
</rules>

我写了一篇关于重写规则的帖子,该规则将“阻止”*.azurewebsites.net域,我将该规则放入默认两个域上方的规则集中,这几乎让我达到了目的。rss链接现在可以工作了

现在,当我浏览到www.mysite.com/ghost(https上的管理页面)时,问题出现了。它抱怨有太多的重写规则


我可以理解为什么会这样,但我无法找到一个组合规则来满足使用自定义域启动webapp并能够导航到站点内其他页面的要求。我很确定这是显而易见的。

根据我的理解,我认为你已经创建了一个CNAME记录,将你的自定义域名与Azure网站域名绑定。但是,我不知道您是否在新门户网站上的Azure WebApp的
所有设置中设置了
自定义域和SSL
。作为参考,您可以参考以确定

根据Gareth文章中的url重写规则,它似乎适用于所有url。我认为问题可能是由代码本身造成的,该代码使用Ghost blog的
config.js
文件中的
websiteUrl
等配置变量呈现URL,请参阅


希望有帮助,并等待您的反馈。如有任何问题,请随时通知我。

您是否在DNS上创建CNAME记录以绑定azure域
*.azurewebsites.net
?您是否在Azure new poral的
所有设置中设置了
自定义域和SSL
(请参阅)?您是否使用Ghost Azure的
config.js
文件(请参阅)中的自定义域修改
websiteUrl
?我在config.js中编辑了代码,只指向“www.mysite.com”,现在一切都正常了(不需要web.config中的额外规则)。唯一的问题是当我导航到管理门户(即SSL)时,我得到一个连接不是私有错误-但我可以继续,它可以工作。这是一个小麻烦,但这是朝着正确方向迈出的一大步-谢谢!