Поддержка Проблемы и решения Как избавиться от лишнего уровня в URL?

Просмотр 13 ответов — с 1 по 13 (всего 13)
  • Предположу, что одно из значений Адрес сайта (смотреть в админке->общие настройки или в БД, таблица _options) прописаны с хвостиком, примерно так http://site.bla/home/ (а в другом поле http://site.bla/)

    Если, конечно, нет какого-нибудь лишнего редиректа в .htaccess

    Спасибо! Но, видимо, проблема не в этом. Оба адреса в настройках одинаковые, редирект, насколько я могу судить, тоже в порядке. У меня та же проблема и на другом сайте karatedo.msk.ru Это появилось, когда я сделал иерархию страниц в разделе страницы (для главной указал родительскую страницу — нет главных, а для дочерних указал родительской главную страницу) — тогда и появились лишние /home/ в адресе. Конечно, чтобы убрать из URL, можно отказаться от иерархии страниц, но, думаю, это не есть хорошо.

    Файл .htaccess

    AddDefaultCharset utf-8
    
    # BEGIN W3TC Browser Cache
    <IfModule mod_deflate.c>
        <IfModule mod_headers.c>
            Header append Vary User-Agent env=!dont-vary
        </IfModule>
            AddOutputFilterByType DEFLATE text/css text/x-component application/x-javascript application/javascript text/javascript text/x-js text/html text/richtext image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon application/json
        <IfModule mod_mime.c>
            # DEFLATE by extension
            AddOutputFilter DEFLATE js css htm html xml
        </IfModule>
    </IfModule>
    # END W3TC Browser Cache
    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    
    # END WordPress
    
    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^www.kitai-chai.com
    RewriteRule ^(.*)$ http://kitai-chai.com/$1 [R=301,L]
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_URI} !(.*)/$
    RewriteRule ^(.*)$ /$1/ [R=301,L]

    А можно у Вас поинтересоваться — какие настройки для пермалинков вы используете? Пермалинки — это постоянные ссылки. Их можно посмотреть в админке

    Settings -> Permalinks

    На русском должно быть что-то вроде

    Параметры — Постоянные ссылки

    Совсем не понял.. Оч сложный текст 🙂

    Кратко — вы создали страницу home и назначили ее в настройках главной (в качестве статической). Затем, для всех последующих страниц выбираете главной ту, первую, home, так? 🙂
    А блога, как такового, у вас нет?..

    1) Настройки пермалинков — post name (предпоследняя в списке)
    2) в .htaccess сначале идет настройка плагина кэширования (W3 total cache), поэтому код в начале сложный. Вручную я прописывал последние строки
    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^www.kitai-chai.com
    RewriteRule ^(.*)$ http://kitai-chai.com/$1 [R=301,L]

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_URI} !(.*)/$
    RewriteRule ^(.*)$ /$1/ [R=301,L]

    3) Да, про иерархию именно так!

    4) блог есть — но я его сместил в раздел http://kitai-chai.com/why-expensive-tea-is-better-than-chep-tea/

    3) Да, про иерархию именно так!

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


    Статическая страница в качестве главной — это всего лишь подмена индексного шаблона, без лишней правки кода. Ни о каком новом построении УРЛов речи не идет. Потому как у этой страницы есть слаг (home), с которого идет банальный редирект на /. Наверное, можно придумать решение на уровне реврайта или еще одной подмены.. Не знаю. А пробовать не шибко охота )

    Может просто стоит сделать иерархию на основе категорий?

    Спасибо, теперь ситуация стала яснее — нужно лучше разобраться, как правильно настроить иерархию страниц, тогда и URL будут автоматически правильными. )))

    Про категории можно подумать!

    нужно лучше разобраться, как правильно настроить иерархию страниц

    Расскажите, какие цели вы преследуете созданием иерархии страниц. Тогда решение может найтись быстрее. 🙂

    Цель проста: чтобы поисковики ясно видели, какая страница является главной на сайте и чтобы не было недоразумений с распределением статического веса страниц при внутренней перелинковке из-за неправильного построения иерархии.

    Я учел замечания товарищей, убрал указание на родительскую страницу и теперь проблема с URL решена. Стоит понять — ясно ли теперь обозначена главная страница в структуре сайта: http://kitai-chai.com/karta-saita/

    )))

    Поисковики всегда будут считать главной ту страницу, которая отображается по адресу kitai-chai.com. Это не зависит от карты сайта или иерархи страниц.

    А карту сайта в карту сайта включать не нужно. 😉

    Кроме того, поисковики используют xml sitemap, а не html-карты. html-карта нужна для пользователей. Либо для уменьшения уровня вложенности. Но даже тогда первый уровень — всегда главная, основной url.

    Спасибо всем за советы, теперь полная ясность в вопросе! )))

Просмотр 13 ответов — с 1 по 13 (всего 13)
  • Тема «Как избавиться от лишнего уровня в URL?» закрыта для новых ответов.