2014-10-13 2 views
2

Я использую приложение angular.js для извлечения контента через внешний API. Все работает отлично, за исключением метаданных и значений opengraph. Поскольку мы не можем переписать все метаданные, мы решили использовать некоторое перенаправление для отправки искателя на определенные страницы с метаданными. Мы используем этот метод: https://github.com/michaelbromley/angular-social-demo Все, кажется, работает, но когда нам нужно получить параметры «маршрута» из файла .htaccess, у нас ничего нет. Мы можем отправить искателя FB на определенную страницу, но без информации.Перенаправление .htaccess из маршрута angular.js

Вот наш .htaccess:

RewriteCond %{HTTP_USER_AGENT} (facebookexternalhit/[0-9]|Twitterbot|Pinterest|Google.*snippet) 
RewriteRule the-page-with-angular-app.html(.*)$ http://www.oursite.net/some/directory/static-page.php?id=$1 [P] 

Вот наш URL:

http://www.oursite.net/the-page-with-angular-app.html#/someInfo/3437/46 

Пожалуйста, обратите внимание, что наше приложение angular.js потребность "#" в URL (по некоторым причинам мы можем» t использовать html5mode).

Мы хотим перенаправить на страницу: oursite.net/some/directory/static-page.php?id=someInfo/3437/46 по крайней мере, даже если было бы лучше перенаправить на наш сайт sitesite/some/directory /static-page.php?id1=someInfo & id2 = 3437 & id3 = 46

на данный момент мы можем только перенаправить oursite.net/some/directory/static-page.php (мы можем передать GET идентификатор если мы вынудим его в .htaccess). Редизайн cond отлично работает.

Спасибо за помощь,

+1

Мой опыт с угловыми маршрутами с перенаправлением '#' и .htaccess заключается в том, что они не работают правильно ... – DrCord

+0

Позвольте мне быть более конкретным. Я не хочу перенаправлять «нормальных» пользователей в угловом приложении, я хочу, чтобы искатель не перенаправлял их в php-скрипте, который возвращает только некоторую информацию (например, мета, открытую диаграмму мета, твиттер-карту и т. Д.). Мне нужно сохранить некоторые переменные. Я могу перенаправить, но на данный момент я потерял переменные. –

ответ

0

Мы применяем другой метод для достижения успеха.

Мы строим пользовательские доли URL в angular.js приложения (как ourdomain.com/one-folder/to-static.php?id1=somme & id2 = материал)

Мы используем эти адреса для обмена контентом в социальных сетях (FB, Twitter и т. д.). Мы создаем наш файл to-static.php для обработки метаданных (карточка Twitter, открытый график и т. Д.).

Мы можем использовать .htaccess, чтобы перенаправить «нормального» пользователя с скрипта «to-static.php» из нашей глубокой ссылки angular.js. Нечто подобное (но я не использую это):

RewriteCond %{HTTP_USER_AGENT} !(facebookexternalhit/[0-9]|Twitterbot|Pinterest|Google.*snippet) 
RewriteRule static.php?id1=(.*)&id2=(.*)$ http://www.oursite.net/the-page-with-angular-app.html#/$1/$2 [P] 

Я решил сделать тесты в PHP скрипте и перенаправлять «нормальный» пользователь с помощью метода PHP (я использую этот кусок кода для обнаружения сканера): https://stackoverflow.com/a/20949242/2207250

Мы, наконец, не используем метод .htaccess, потому что с нашими установками клиентов (такое же приложение angular.js на 50 сайтах: сайт joomla, сайт Wordpress, пользовательский сайт, мобильное приложение и т. Д.) Было сложно обратиться за модификацией Файл htaccess (не невозможно, но если мы можем сделать другим способом, это лучше).

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