Я начинающий пользователь 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#/
Страница авторов не отображается. Он остается на главной странице.
Я не знаю, почему добавлен #. Если я удалю его, он снова встанет на место.
Я буду держать его под контролем - я знаю, что я рядом.
Вы захотите восстановить свой токен 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>
Дай мне знать, если это работает. Рад был помочь!