Prerender htaccess для подкаталога URL - PullRequest
0 голосов
/ 21 апреля 2019

Это мой htaccess

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.html [L]

RequestHeader set X-Prerender-Token "**************"

<IfModule mod_rewrite.c>

    <IfModule mod_proxy_http.c>
        RewriteCond %{HTTP_USER_AGENT} googlebot|bingbot|yandex|baiduspider|facebookexternalhit|twitterbot|rogerbot|linkedinbot|embedly|quora\ link\ preview|showyoubot|outbrain|pinterest|slackbot|vkShare|W3C_Validator [NC,OR]
        RewriteCond %{QUERY_STRING} _escaped_fragment_

        # Proxy the request
        RewriteRule ^(.*)$ http://service.prerender.io/http://%{HTTP_HOST}$1 [P,L]


        RewriteRule ^ /index.html 
    </IfModule>
</IfModule>

Я сделал это в Angularjs-

<head>
    <meta name="fragment" content="!">
</head>

$locationProvider.html5Mode(true);

Мой URL выглядит как -

https://www.{Hostname}/{folder-name}/ (BaseURl)

Когда я включаю ниже URL, он перенаправляет меня на 404

https://www.{Hostname}/{folder-name}/category/category-name

Может ли кто-нибудь помочь мне решить эту проблему с htaccess?

1 Ответ

0 голосов
/ 22 апреля 2019

Вы должны убедиться, что конфигурация Prerender будет запущена до этого раздела вашего .htaccess:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.html [L]

Ваш .htaccess может выглядеть следующим образом:

RewriteEngine On

RequestHeader set X-Prerender-Token "**************"

<IfModule mod_rewrite.c>

    <IfModule mod_proxy_http.c>
        RewriteCond %{HTTP_USER_AGENT} googlebot|bingbot|yandex|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's 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|\.svg))(.*) http://service.prerender.io/https://%{HTTP_HOST}.com/$2 [P,L]
    </IfModule>
</IfModule>

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.html [L]

Если это не такЧтобы решить эту проблему, не стесняйтесь присылать нам по электронной почте support@prerender.io дополнительную информацию, чтобы мы могли помочь!

...