2015-03-20 5 views
0

Я создал angulerjs веб-приложение и установить теги SEO для каждой страницы, как Angularjs website not indexing on googleПредварительно обрабатывать ИО дает ошибку 404

Мой веб-приложение размещается в сервере IIS. Поэтому я изменил свой файл веб-конфигурации, чтобы настроить следующим образом.

<?xml version="1.0"?> 
<configuration> 
    <system.webServer> 
     <httpProtocol> 
      <customHeaders> 
       <add name="X-Prerender-Token" value="XXXXXXXXXXXXX" /> 
      </customHeaders> 
     </httpProtocol> 
     <rewrite> 
      <rules> 
       <!--# Only proxy the request to Prerender if it's a request for HTML--> 
       <rule name="Prerender" stopProcessing="true"> 
        <match url="^(?!.*?(\.js|\.css|\.xml|\.less|\.png|\.jpg|\.jpeg|\.gif|\.pdf|\.doc|\.txt|\.ico|\.rss|\.zip|\.mp3|\.rar|\.exe|\.wmv|\.doc|\.avi|\.ppt|\.mpg|\.mpeg|\.tif|\.wav|\.mov|\.psd|\.ai|\.xls|\.mp4|\.m4a|\.swf|\.dat|\.dmg|\.iso|\.flv|\.m4v|\.torrent))(.*)" ignoreCase="false" /> 
        <conditions logicalGrouping="MatchAny"> 
         <add input="{HTTP_USER_AGENT}" pattern="baiduspider|facebookexternalhit|twitterbot" /> 
         <add input="{QUERY_STRING}" pattern="_escaped_fragment_" ignoreCase="false" /> 
        </conditions> 
        <action type="Rewrite" url="http://service.prerender.io/http://yourwebsite.com/{R:2}" /> 
       </rule> 
      </rules> 
     </rewrite> 
    </system.webServer> 
</configuration> 

настроить веб-конфигурацию с моей собственной PreRender лексем и вошел в Prerender.io и кэшировать мои страницы сайта.

Когда я нахожу http://www.mywebsite.com/?_escaped_fragment_=, эта ссылка дает мне «404 - Ошибка файла или каталога».

+0

Вы также металлообрабатывающая вы здесь URL-адрес http://service.prerender.io/http://yourwebsite.com/{R:2} в веб-конфигурации? –

+0

Да Как и выше, я также добавил. –

+0

Я заменил Action-> Rewrite на Redirect. Теперь это работает. –

ответ

1

Я мог бы решить эту проблему, изменив тип действия Переписать в Redirect следующим образом.

<action type="Redirect" url="http://service.prerender.io/http://yourwebsite.com/{R:2}" /> 

Edited

Но тип действия Перенаправление будет влиять на общественное распределение вашего веб-сайта. Поэтому сохраните его как Rewrite и установите Application Request Routing на сервер IIS и включите прокси.

Это поможет кому-то :)

Смежные вопросы