Я работаю над перестройкой структуры URL страниц обзора, которая может быть отфильтрована по городу, округу, количеству звезд и техническому специалисту.Я хочу, чтобы страницы выглядели как статические HTML-страницы, а также заменяли плюсы дефисами.Моя цель: -применить URL-адреса нового стиля без изменения страницы отзывов, просто файл htaccess -установить 301 переадресацию из URL-адресов старого стиля в URL-адреса нового стиля -конвертировать плюсы в дефисы
В настоящее время URL-адреса обзора выглядят следующим образомэто:
domain.com / reviews /? city = город + имя
domain.com / reviews /? city = город + имя & страница = 2
домен.com / reviews /? county = County + Имя
domain.com / reviews /? county = County + Name & page = 2
domain.com / reviews /? stars = 4
domain.com / reviews /? Stars = 4 & page = 2
domain.com / reviews /? Tech = Tech + Имя
domain.com / reviews /? Tech = Tech +Name & page = 2
Моя цель - сделать так, чтобы они выглядели так (и 301 старые URL-адреса для URL-адресов нового стиля):
domain.com / reviews /city / City-Name.html
domain.com / reviews / city / City-Name / page / 2.html
domain.com / reviews / county / County-Name.html
domain.com / reviews / county / County-Name / page / 2.html
domain.com/reviews/stars/4.html
domain.com / reviews / stars / 4 / page / 2.html
domain.com / reviews / tech / Tech-Name.html
domain.com / reviews / tech / Tech-Name / page / 2.html
Названия городов, округов и технологий не всегда содержат плюсы (например, Бостон против Новых+ Йорк) а у некоторых больше одного плюса.В настоящее время это то, что я должен замаскировать URL-адреса старого стиля с URL-адресами нового стиля (кстати, это прекрасно работает):
##FIRST PAGE REVIEWS (ie. reviews/city/city-name.html)
RewriteRule ^reviews/(.*)/(.*)\-(.*)\-(.*)\-(.*)\-(.*)\.html "/reviews/?$1=$2+$3+$4+$5+$6" [NC,L]
RewriteRule ^reviews/(.*)/(.*)\-(.*)\-(.*)\-(.*)\.html "/reviews/?$1=$2+$3+$4+$5" [NC,L]
RewriteRule ^reviews/(.*)/(.*)\-(.*)\-(.*)\.html "/reviews/?$1=$2+$3+$4" [NC,L]
RewriteRule ^reviews/(.*)/(.*)\-(.*)\.html "/reviews/?$1=$2+$3" [NC,L]
RewriteRule ^reviews/(.*)/(.*)\.html "/reviews/?$1=$2" [NC,L]
##PAGINATED REVIEWS (ie. reviews/city/city-name/page/2.html)
RewriteRule ^reviews/(.*)/(.*)\-(.*)\-(.*)\-(.*)\-(.*)/page/(.*)\.html "/reviews/?$1=$2+$3+$4+$5+$6&page=$7" [NC,L]
RewriteRule ^reviews/(.*)/(.*)\-(.*)\-(.*)\-(.*)/page/(.*)\.html "/reviews/?$1=$2+$3+$4+$5&page=$6" [NC,L]
RewriteRule ^reviews/(.*)/(.*)\-(.*)\-(.*)/page/(.*)\.html "/reviews/?$1=$2+$3+$4&page=$5" [NC,L]
RewriteRule ^reviews/(.*)/(.*)\-(.*)/page/(.*)\.html "/reviews/?$1=$2+$3&page=$4" [NC,L]
RewriteRule ^reviews/(.*)/(.*)/page/(.*)\.html "/reviews/?$1=$2&page=$3" [NC,L]
Часть, с которой у меня возникают проблемы, заключается в том, чтобы 301-й URL-адреса в старом стилеНОВЫЙ стиль URL.Это то, что у меня есть:
RewriteCond %{QUERY_STRING} (.*)=(.*) [NC]
RewriteRule ^reviews/(.*) /reviews/%1/%2.html? [NS,R=301,NC]
RewriteCond %{QUERY_STRING} (.*)=(.*)&page=(.*) [NC]
RewriteRule ^reviews/(.*) /reviews/%1/%2/page/%3.html? [NS,R=301,NC]
Когда я пытаюсь использовать этот FireFox, выдается сообщение об ошибке «Страница перенаправляется неправильно».Есть идеи?