• Подскажите пожалуйста, почему не работает такой ЧПУ —
    /%category%/%postname%.html

    Вроде все прописано правильно, но почему то ни одна страница, кроме главной не отображается

Просмотр 13 ответов — с 1 по 13 (всего 13)
  • Модератор Юрій

    (@yube)

    А какой работает?
    Что значит «не отображается»? 404 ошибка? Белый экран? Выключается монитор?

    Отображает —
    Not Found

    The requested URL /rrrr/news/hello-world.html was not found on this server.

    По умолчанию работает… http://localhost/rrrr/?p=1

    Модератор Юрій

    (@yube)

    Смотреть .htaccess. Если WP может, он сам его создает, если не может, то пишет, что там должно быть (Если бы ваш файл .htaccess был доступен для записи, мы могли бы…)

    Если в .htaccess всё правильно, то смотреть настройки Апача (mod_rewrite и AllowOverride для директории).

    почисти кеш, у меня тоже так было после замены УРЛов, но со временем уладилось.

    а почему вы ставите именно /%category%/%postname%.html

    чем просто сайт.ру/%postname% хуже

    mishashamen просматриваю сейчас видео урок, там так было, но в общем это не суть, у меня кроме как по умолчанию ничего не работает. Кеш тут не при чем, проверил в другом браузеер, там так же ничего не открывается….

    Юрий а в .htaccess что именно смотреть? у меян он выглядит вот так —

    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /rrrr/
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /rrrr/index.php [L]
    </IfModule>
    
    # END WordPress

    Модератор Юрій

    (@yube)

    Если WP ставили в директорию /rrrr/, то .htaccess выглядит хорошо. Значит

    смотреть настройки Апача (mod_rewrite и AllowOverride для директории).

    Подскажите пожалуйста правило для htaccess чтобы ссылки страниц ленты записей выглядели бы не так:
    site.ru/page/2
    site.ru/page/3
    и т.д. а так:
    site.ru/news-2.html
    site.ru/news-3.html

    и статические страницы вместо:
    site.ru/page (где page ярлык страницы)
    вот так: site.ru/page.html

    И если не трудно ткните носом в толковый мануал по этой теме на русском языке. Переношу сайт с одной cms на wordpress и руками прописывать около 1000 редиректов 301 просто пытка.

    Модератор Юрій

    (@yube)

    Подскажите пожалуйста правило для htaccess чтобы ссылки страниц ленты записей выглядели бы не так:

    .htaccess никак не может повлиять на вид ссылок, генерируемых движком.
    http://ru.wikipedia.org/wiki/Htaccess

    и статические страницы вместо:
    site.ru/page (где page ярлык страницы)
    вот так: site.ru/page.html

    Я такой плагин писал n лет назад, где-то на форуме forum.maxsite.org можно найти по ключевому «page_htm». Кажется, и в репозитарии есть аналогичный плагин.

    Переношу сайт с одной cms на wordpress

    А надо было сначала убедиться, что всё будет так, как хочется, а потом переносить. Впрочем, не Вы первый и, боюсь, не последний.

    .htaccess никак не может повлиять на вид ссылок, генерируемых движком.

    Имелись в виду средствами mod_rewrite которые задаются через этот файл. Разве это не возможно?

    Плагин этот видел, как и ещё несколько более функциональных, но страниц всего несколько и прописать на них 301 редиректы не сложно, в отличии от страниц ленты и страниц рубрик, а такого плагина я не нашёл, да и не сторонник я копить десятками плагины без которых можно обойтись.

    Дело в том, что убеждаться во всех нюансах было некогда, прежняя cms была лицензионной с ежегодной оплатой в несколько тысяч рублей, и функционал которой не использовался и на 20%, соответственно она и не обновлялась несколько лет, и теперь из-за дырки в безопасности кто-то регулярно пакостит. Самое сложное — конвертация базы уже сделана, и сами страницы новостей имеют нужный вид, но из-за урлов лент ПС могут неправильно понять, а это не тот риск на который стоит идти не попробовав все возможные методы.

    Модератор Юрій

    (@yube)

    Имелись в виду средствами mod_rewrite которые задаются через этот файл. Разве это не возможно?

    Ровно на половину. На ту, которая обрабатывает входящие запросы (да и то там не всё так просто, если делать без редиректа). Но не на ту, которая на выходе генерирует html (именно то, что «выглядит»).

    Но если говорить только о входящих и только с редиректом, то

    RewriteRule ^news-(.*)\.html /page/$1 [R=301,L]

    после

    RewriteEngine On
    RewriteBase /

    но перед

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]

    Хм, редирект со страниц ленты теперь работает, но в тоже время это правило как то затрагивает и страницы новостей…
    Урл со страницей новости должен выглядеть так:
    /news-view-1.html
    а перекидывает на такой урл:
    /page/view-1

    Можно ли как нибудь уточнить что переменная после /news- для 301 редиректа должна быть только числовая?

    Как я понял надо группы прописывать… Слишком сложно для меня. Спасибо за потраченное время и желание помочь 😉

Просмотр 13 ответов — с 1 по 13 (всего 13)
  • Тема «ЧПУ» закрыта для новых ответов.