Помогите дойти толку с .htaccess и вордпресом

J
На сайте с 08.06.2006
Offline
844
677

Ситуация такая

Есть сайт на ВП

Создана запись с урлом bk-v-city.html

В .htaccess прописано RewriteRule ^bk-v-city-(.*)\.html$ bk-v-city.html?bcity=$1[L]

По запросу в браузере урла http:/site.info/bk-v-omsk.html выдает 404

А если в корне сайта на сервере создать файлик bk-v-city.html, все работает как надо.

Как настроить, чтобы тянуло bk-v-city.html вордпресовский?

P1otr
На сайте с 13.04.2012
Offline
136
#1

Вот это - bk-v-city.html уже результат работы модреврайта сайта.

joost:
Создана запись с урлом bk-v-city.html

Это понятно

Далее вы указываете что при вводе урла bk-v-city-(чего-то).html надо открыть ФАЙЛ bk-v-city.html и передать ему переменную

joost:
RewriteRule ^bk-v-city-(.*)\.html$ bk-v-city.html?bcity=$1[L]

При работе с записью у вас так не выйдет, так как записьэто index.php?p=(id_post).Запись это НЕ файл,это вывод данных из базы через файл index.php

---------- Добавлено 24.10.2016 в 17:08 ----------

joost:
Как настроить, чтобы тянуло bk-v-city.html вордпресовский?

Как-то так

RewriteRule ^bk-v-city\.html$ index.php?p=АЙДИ_ПОСТА[L]

Если надо в посте обрабатывать переменные, то надо делать совершенно по другому - через шаблоны http://seo-mayak.com/sozdanie-bloga/nastrojka-wordpress/shablony-zapisej-wordpress.html

>>>>>>LinkBoss.net - Трастовые ссылки для увеличения трафика в 10 раз! (http://linkboss.net/)<<<<<<
S
На сайте с 30.09.2016
Offline
469
#2

На самом деле, если ссылка bk-v-city.html?bcity=$1 рабочая, и Вы хотите перейти по этой ссылке, то надо делать редирект. То есть в конце написать не [L], а [R=301,L]. И я не знаю, что там у Вас с RewriteBase, поэтому на всякий случай поставим / перед bk-v-city.html. И пробел перед [R=301,L] не забывайте ставить. Как-то так.

^bk-v-city-(.*)\.html$ /bk-v-city.html?bcity=$1 [R=301,L]
Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
tommy-gung
На сайте с 22.11.2006
Offline
304
#3

только мне кажется, что ТС каким-то извратом занимается?

Здесь не могла быть ваша реклама
S
На сайте с 30.09.2016
Offline
469
#4
tommy-gung:
только мне кажется, что ТС каким-то извратом занимается?

Чё-то замыслил 🙄

totamon
На сайте с 12.05.2007
Offline
437
#5

только меня насторожило, что в реврайте bk-v-city-(.*) а урл проверяется bk-v-omsk?

урл должен быть bk-v-city-omsk как минимум

зы. и некоторые системы кеширования не понимают GET запросов и выдают 404 ошибку

Домены и хостинг https://8fn.ru/regru | Дедик от 3000р https://8fn.ru/73 | VPS в Москве https://8fn.ru/72 | Лучшие ВПС, ТП огонь, все страны! https://8fn.ru/inferno | ХОСТИНГ №1 РОССИИ https://8fn.ru/beget
J
На сайте с 08.06.2006
Offline
844
#6
Sitealert:
На самом деле, если ссылка bk-v-city.html?bcity=$1 рабочая, и Вы хотите перейти по этой ссылке, то надо делать редирект. То есть в конце написать не [L], а [R=301,L]. И я не знаю, что там у Вас с RewriteBase, поэтому на всякий случай поставим / перед bk-v-city.html. И пробел перед [R=301,L] не забывайте ставить. Как-то так.

работает, только в строке урла урл bk-v-city.html?bcity= , а нужно bk-v-city-omsk.html

---------- Добавлено 25.10.2016 в 11:05 ----------

totamon:
только меня насторожило, что в реврайте bk-v-city-(.*) а урл проверяется bk-v-omsk?

моя опечатка

S
На сайте с 30.09.2016
Offline
469
#7

То есть надо из bk-v-city-omsk.html сделать bk-v-city-omsk.html?bcity=omsk, я так понял? Тогда так:

RewriteCond %{REQUEST_URI} /bk-v-city-\w+\.html [NC]
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^(bk-v-city-(.*))\.html$ /$1\.html?bcity=$2 [R=301,L]

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий