Поддержка Проблемы и решения Записи доступны по двум адресам

  • Добрый день!
    Подскажите пожалуйста, всю голову уже сломала, не пойму куда копать.
    Есть стандартная запись, к которой прописан «Ярлык URL».
    Мне и надо чтобы запись доступна была по адрес http://адрес сайта.ru/ярлык URL
    Но в настройках постоянных ссылок при включении:
    http://адрес сайта.ru/sample-post/

    Страница доступна по двум адресам:
    http://адрес сайта.ru/ярлык URL
    и http://адрес сайта.ru/?=p59

    Если выбрать настройку:
    http://адрес сайта.ru/?p=123

    То страница доступна только по адресу:
    http://адрес сайта.ru/?=p59
    На http://адрес сайта.ru/ярлык URL ошибка 404.

    Подскажите пожалуйста, как можно сделать, чтобы не было вот этих вот дублей «?=p» ?

    Плагин стоит All in One SEO, пробовала отключить, пересохранить настройки — не меняется ничего.

    Файл .htaccess вот такого содержания:

    # BEGIN All In One WP Security
    #AIOWPS_BLOCK_SPAMBOTS_START
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_METHOD} POST
    RewriteCond %{REQUEST_URI} ^(.*)?wp-comments-post\.php(.*)$
    RewriteCond %{HTTP_REFERER} !^http(s)?://engineerdays\.ru [NC,OR]
    RewriteCond %{HTTP_USER_AGENT} ^$
    RewriteRule .* http://127.0.0.1 [L]
    RewriteCond %{QUERY_STRING} ^replytocom= [NC]
    RewriteRule (.*) $1? [R=301,L]
    RewriteRule (.+)/feed /$1 [R=301,L]
    RewriteRule (.+)/attachment /$1 [R=301,L]
    RewriteRule (.+)/comment-page /$1 [R=301,L]
    RewriteRule (.+)/comments /$1 [R=301,L]
    RewriteRule (.+)/trackback /$1 [R=301,L]
    RewriteCond %{QUERY_STRING} ^attachment_id= [NC]
    RewriteRule (.*) $1? [R=301,L]
    </IfModule>
    #AIOWPS_BLOCK_SPAMBOTS_END
    # END All In One WP Security
    
    # BEGIN WordPress
    # Директивы (строки) между <code>BEGIN WordPress</code> и <code>END WordPress</code>
    # созданы автоматически и подлежат изменению только через фильтры 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
    

    Пробовала его тоже чистить и пересохранять ничего не помогает. Спасибо за помощь!

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

    (@yube)

    Страница доступна по двум адресам:

    На самом деле, по почти бесконечному количеству разнообразных url. Для разрешения такой неопределенности и был придуман rel canonical.

    Подскажите пожалуйста, как можно сделать, чтобы не было вот этих вот дублей «?=p» ?

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

    На самом деле, по почти бесконечному количеству разнообразных url. Для разрешения такой неопределенности и был придуман rel canonical.

    Спасибо, функция канонических адресов включена в All in One SEO.

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

    К сожалению переадресации нет никакой с «?=p», просто открывается и все.

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

    (@yube)

    переадресации нет никакой с «?=p»,

    При настройке постоянных ссылок /%postname%/ и любой другой ЧПУшной обязательно должна быть. Можете посмотреть на любом сайте на WP с ЧПУ, где еще не удален «Привет, мир!», по адресу /?p=1.
    Если редиректа нет, значит, надо искать, где отключен и/или что мешает.

    Спасибо! Зря оказывается панику навела. У записи в режиме черновик 2 ссылки, после публикации все нормально с редиректом.

Просмотр 4 ответов — с 1 по 4 (всего 4)