Почему prerender.io не работает на моем общем сервере apache с использованием angularjs?

0

Я начинающий пользователь Linux и пытаюсь обеспечить рейтинг SEO для моего углового/загрузочного приложения. Я попытался применить промежуточное программное обеспечение prerender.io в файлах.htaccess в нескольких папках на моем общем сервере GoDaddy, но безрезультатно. Я обратился к Тодду, владельцу продукта, но он не смог обеспечить приемлемое решение. Кажется, он немного перегружен.

Что мне не хватает? Где должен находиться.htaccess? Это сайт, который я хочу получить.

Мой файл.htaccess в папке, предшествующей public_html:

ОБНОВЛЕНО (последний полный.htaccess)

<IfModule mod_deflate.c>
    SetOutputFilter DEFLATE
    <IfModule mod_setenvif.c>
        # Netscape 4.x has some problems...
        BrowserMatch ^Mozilla/4 gzip-only-text/html

        # Netscape 4.06-4.08 have some more problems
        BrowserMatch ^Mozilla/4\.0[678] no-gzip

        # MSIE masquerades as Netscape, but it is fine
        # BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

        # NOTE: Due to a bug in mod_setenvif up to Apache 2.0.48
        # the above regex won't work. You can use the following
        # workaround to get the desired effect:
        BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html

        # Don't compress images
        SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary
    </IfModule>

    <IfModule mod_headers.c>
        # Make sure proxies don't deliver the wrong content
        Header append Vary User-Agent env=!dont-vary
    </IfModule>
</IfModule>
RewriteCond %{SERVER_PORT} 80      

# Change YOUR_TOKEN to your prerender token and uncomment that line if you want to cache urls and view crawl stats
# Change http://example.com (at the end of the last RewriteRule) to your website url

<IfModule mod_headers.c>
RequestHeader set X-Prerender-Token "MY TOKEN"
</IfModule>

<IfModule mod_rewrite.c>
RewriteEngine On

<IfModule mod_proxy_http.c>
RewriteCond %{HTTP_USER_AGENT} baiduspider|facebookexternalhit|twitterbot|rogerbot|linkedinbot|embedly|quora\ link\ preview|showyoubot|outbrain|pinterest|slackbot|vkShare|W3C_Validator [NC,OR]
RewriteCond %{QUERY_STRING} _escaped_fragment_
# Only proxy the request to Prerender if it a request for HTML
RewriteRule ^(?!.*?(\.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|\.ttf|\.woff))(index.html.var)(.*) http://service.prerender.io/http://writers-tryst.ron-tornambe.com/$3 [P,L] </IfModule>
</IfModule>

РЕДАКТИРОВАТЬ

Я изменил список навигационных панелей следующим образом:

<ul class="nav navbar-nav">
    <li class="active"><a id="homepage" href="?_escaped_fragment_=/"><i class="glyphicon glyphicon-home"></i> Home</a></li>
    <li><a href="?_escaped_fragment_=/writers/" class="glyphicon glyphicon-book"> Writers</a></li> 

Угловое "когда" выглядит так:

wtApp.config(function ($routeProvider) {
    $routeProvider
    // route for the home page
    .when('/', {
        templateUrl: 'pages/home.html',
        controller: 'mainController'
    })
    // route for the writers page
    .when('/writers', {
        templateUrl: 'pages/writers.html',
        controller: 'writersController'
    })

URL-адрес выглядит так:

http://writers-tryst-test.ron-tornambe.com/?_escaped_fragment_=/writers#/

Страница авторов не отображается. Он остается на главной странице.

Я не знаю, почему добавлен #. Если я удалю его, он снова встанет на место.

Я буду держать его под контролем - я знаю, что я рядом.

  • 0
    почему index.html.var? а почему гугеботов там нет?
  • 0
    googlebot не должен быть в списке пользовательских агентов для проверки, поскольку они могут наказать вас за маскировку. Google использует протокол обхода фрагментов, поэтому раздел escaped_fragment будет соответствовать googlebot правильно.
Теги:
.htaccess
prerender

1 ответ

1

Вы захотите восстановить свой токен Prerender.io, так как вы открыли его там в своей конфигурации. Кто-то еще может использовать ваш токен и использовать вас с большим счетом. Перейдите в раздел "Учетная запись" нашего веб-сайта, и вы увидите возможность регенерировать свой токен.

Кроме того, у вас все еще есть 2 доллара, хотя у вас есть 3 группы захвата в этом регулярном выражении. Третья группа захвата - это то, что вы хотите отправить нашему сервису.

Вы попробовали конфигурацию, которую я в последний раз отправлял?

# Change YOUR_TOKEN to your prerender token and uncomment that line if you want to cache urls and view crawl stats
# Change http://example.com (at the end of the last RewriteRule) to your website url

<IfModule mod_headers.c>
RequestHeader set X-Prerender-Token "YOUR_TOKEN"
</IfModule>

<IfModule mod_rewrite.c>
RewriteEngine On

<IfModule mod_proxy_http.c>
RewriteCond %{HTTP_USER_AGENT} baiduspider|facebookexternalhit|twitterbot|rogerbot|linkedinbot|embedly|quora\ link\ preview|showyoubot|outbrain|pinterest|slackbot|vkShare|W3C_Validator [NC,OR]
RewriteCond %{QUERY_STRING} _escaped_fragment_
# Only proxy the request to Prerender if it a request for HTML
RewriteRule ^(?!.*?(\.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|\.ttf|\.woff))(index.html.var)(.*) http://service.prerender.io/http:/%{HTTP_HOST}/$3 [P,L] </IfModule>
</IfModule>

Дай мне знать, если это работает. Рад был помочь!

  • 0
    Я изменил маркер - спасибо за указание на это. Я повторно разместил файл .htaccess после изменения сценария, как вы предложили. Я использовал онлайн генератор карт сайта. Не было возвращено ни одной страницы: <? Xml version = "1.0" encoding = "UTF-8"?> <Urlset xmlns = " sitemaps.org/schemas/sitemap/0.9 " xmlns: xsi = " w3.org/2001 / XMLSchema-instance "xsi: schemaLocation =" sitemaps.org/schemas/sitemap/0.9 sitemaps.org/schemas/sitemap/0.9/sitemap.xsd "> <! - создано с помощью бесплатного онлайн-генератора Sitemap www.xml-sitemaps. com -> </ urlset>
  • 0
    Возможно, вы захотите восстановить свой токен снова. Похоже, вы повторно загрузили .htaccess со своим новым токеном. Онлайновый генератор карты сайта не сможет сканировать ваши страницы, если они не поддерживают протокол обхода фрагментов (они, вероятно, этого не делают) или если вы не добавите их пользовательский агент в свою конфигурацию. Выглядит так, как будто вы используете # в своем URL, поэтому вам нужно изменить его на #! для правильного сканирования ваших страниц. Я бы предложил полностью удалить # и использовать push-состояние html5. Пожалуйста, прочитайте нашу документацию о # prerender.io/documentation
Показать ещё 5 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню