Помогите настроить любой ЧПУ через htaccess

123
M
На сайте с 04.12.2013
Offline
223
#11

В шаблонах подобное элементарно правится. Пропишите просто href="/" для главной. И далее используйте рерайт.

Если бы с пыхом немного дружили, ЧПУ можно было формировать в шаблонах на автомате таким же образом. Например, гляньте первый шаблон тут. Главное меню может формироваться в цикле подобным же образом. Но можно и захардкодить. Для вас, видимо, это единственный подходящий вариант. А обратное преобразование можете делать в .htaccess индивидуальными или шаблонными, когда это возможно, рерайтами.

Чтобы обойти упомянутый ранее конфликт, можете попробовать еще такой вариант: переименовать файл точки входа, а в index.php делать редиректы. Это на случай если не захотите избавиться от редиректов. Однако, как ранее писал, по-моему они вам вообще не нужны.

Домены и скрипт для коротких ссылок: https://u75.ru/domains-for-shortcuts
M
На сайте с 04.10.2011
Offline
90
#12
miketomlin:
по-моему они вам вообще не нужны.

100% - пых (РНР) и точка входа - проблем на пару часов +-2

Сдается, обращаться скайп avdesk-it-kmm Верстка, кодинг - контакты в профиле... VPS от 5€ (https://gmhost.com.ua/?partner=10255)
M
На сайте с 04.12.2013
Offline
223
#13

P.S. В принципе при использовании числ. идентификаторов (как ранее писал, это не совсем ЧПУ) большую часть ссылок можно не хардкодить. С главной конечно будут проблемы (в отличии от меня с href="/<?= $category['id'] ?>", когда у главной будет пустой символьный идентификатор, у вас так сделать не получится), но в остальном решаемо.

xoxol4uk22
На сайте с 14.11.2017
Offline
66
#14

Спасибо, большое еще раз) Что-то пробую, что-то может все-таки сделаю. Но пока даже в принипы тяжеловато вникнуть.

Историю интересную одну вспомнил) У меня есть один друг детства, он по образованию технолог мяса, а сам отработал на единственной работе – до 10 лет на кутере (машина для перемешивания фарша) на мясокомбинате – делал шинку. Работа тяжелая и он рассчитался, пошел ветеринаром на свиноферму (у нас вокруг и внутри города их много на сотни тысяч голов каждая) от той же корпорации.

К ветеринарии этот друг никакого отношения не имел вообще, даже свиней только у бабушки видел и то не факт. И вот в первый день ему кто-то из руководства говорит "Пойди посмотри, там что-то свиноматка лежит – заболела".

Он пошел, посмотрел... Да, действительно лежит, заболела...

Вот так и я пока))) по ссылкам посмотрел...

totamon
На сайте с 12.05.2007
Offline
437
#15
xoxol4uk22:
Что-то пробую, что-то может все-таки сделаю

не понимаю я этих мучений... ну занимались сео на Вп, и куда вас понесло в дебри php?) главное зачем? имхо, это какой-то внутренний саботаж, вместо того чтобы делом заниматься, придумываем себе проблемы и героически их решаем... или попытки пару рублей сэкономить, потратив времени на тысячу... тоже очень распространенная практика увиливания от дел😂

Домены и хостинг https://8fn.ru/regru | Дедик от 3000р https://8fn.ru/73 | VPS в Москве https://8fn.ru/72 | Лучшие ВПС, ТП огонь, все страны! https://8fn.ru/inferno | ХОСТИНГ №1 РОССИИ https://8fn.ru/beget
M
На сайте с 04.12.2013
Offline
223
#16

totamon, может, человек летом чуток саморазвитием решил заняться :)

xoxol4uk22, ну не знаю. Я вам под конец обозначил самый простой и топорный вариант, с которым даже не оч. преуспевающий школьник может справиться. Это конечно не по уму, а по обстоятельствам, но зато работает. Хоть вспомнил, как раньше люди мучились с ЧПУ :)

---------- Добавлено 09.07.2018 в 13:57 ----------

Что хоть конкретно не получается? Не можете ссылки захардкодить? Или написать для них индивидуальные рерайты в .htaccess?

xoxol4uk22
На сайте с 14.11.2017
Offline
66
#17
не понимаю я этих мучений
totamon, может, человек летом чуток саморазвитием решил заняться

Начиналось как попытка нового подучить, но потом уже больше принципиально). Мне действительно по времени и нервам было бы намного выгоднее доплатить тому человеку, что делал мне скрипт...

Что хоть конкретно не получается?

Ну практически все)). Я не имею даже минимального представления даже о принципах вывода данных с БД в пхп или обработке запросов сервером, чтобы оно меняло урлы... А без понимания основ я могу только ctrl+c и ctrl+v :(

Из ссылок не то чтобы убрать лишние "/index.php?id", а даже слово article я не смог заменить на page в урле. Правки, наверное, делать нужно не в одном файле...

1. Любые варианты с обработкой урлов через htaccess ничего не дали.

2. Как захардкорить ссылки я понятия не имею. При любых моих глупых правках шаблона вывода этого меню либо 404 ошибка появляется везде, либо оно перестает тянуть контент с БД, ну или меню перестает быть выпадающим...

3. Взять заменить просто все на другой шаблон по примеру я никогда не сумею. Может еще и потому, что в этом скрипте не просто реализован простейший вывод данных с БД, а в виде сложной иерархии (выпадающих пунктов меню до бесконечности по вложенности) и при любых моих манипуляциях все это перестает работать.

4. На счет переименовывания index.php ничего не понял.

Создавая тему, надеялся просто на готовый кусочек кода для хтакес. На большее я пока не способен, так как это нужно разбираться в пхп или хоть регулярках для попыток с редиректами...

M
На сайте с 04.12.2013
Offline
223
#18

Вы точно раньше сайтами занимались, пускай и SEO? Что-то непохоже.

Захардкодить – это прописать в шаблонах: href="/", href="/page/5" и т.п. Но, т.к. вы не брезгуете числовыми идентификаторами, можно кое-где и так написать: href="/category/<?= $cat['id'] ?>" и т.п.

Чтобы это работало, в .htaccess нужно делать обратное преобразование, например:


RewriteRule ^$ index.php?id_article=5 [L]

Или:


RewriteRule ^category/(.+)$ index.php?id_category=$1 [L]
xoxol4uk22
На сайте с 14.11.2017
Offline
66
#19
Вы точно раньше сайтами занимались, пускай и SEO? Что-то непохоже.

Точно) и довольно успешно... Но СЕО и работа с готовым движком типа Вордпресса или Макссайта это очень отличается от попыток что-то сделать самому...

В общем меняю я, например, ссылку на "href="/category/<?= $cat['id'] ?>". Переобразование убирает ошибку 404 и урлы действительно становятся более человеческими.

Но! При переходе между страницами не грузится контент(( Урлы страниц меняются, а с БД статья не подгружается...

Больше нигде я не смог найти href среди других файлов. В этом файле все выглядит до моих правок так:

<ul class="menu__list">
<? foreach($cats as $key => $cat): ?>
<li class="menu__item <?= $key == 1 ? 'active' : ''; ?>" data-article-id="<?= $cat["id"]; ?>">
<a class="menu__link" href="/index.php?id_article=<?= $cat["id"]; ?>"><?= $cat["name"]; ?></a>
<? if( count($cat["children"]) > 0 ): ?>
<? echo renderTemplate("part_nav.php", ['cats' => $cat["children"]]); ?>
<? endif; ?>
</li>
<? endforeach; ?>
</ul>

И вот так выглядит единственная измененная строчка после правок:

<a class="menu__link" href="/cat/<?= $cat['id'] ?>"><?= $cat["name"]; ?></a>
M
На сайте с 04.12.2013
Offline
223
#20
xoxol4uk22:
Но! При переходе между страницами не грузится контент(( Урлы страниц меняются, а с БД статья не подгружается...

Обратное преобразование адреса в .htaccess сделали или мне нужно в третий раз повторить?

Больше нигде я не смог найти href среди других файлов.

Ну сайт-то из нескольких страниц по вашим словам состоит. Возможно, кроме этого меню больше и нет нигде ссылок :)

123

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