sta
  • 0
Новичок

Переписать URL с помощью htaccess

  • 0

Я только что обновил веб-сайт, который использовал .php URL-адреса, на сайт WordPress 3.1, который не использует расширения типов файлов (настраиваемые постоянные ссылки).

У них есть много ссылок в их импортированном контенте на старую страницу, .php которая теперь заканчивается ошибкой 404.

У меня такой вопрос: какое правило перезаписи я должен использовать в своем файле htaccess, чтобы перенаправить кого-то, нажав на ссылку www.somesite.com/glossary.php#anchor, на www.somesite.com/glossary/#anchor ?

Будем признательны за любую помощь, С.

Share
  1. В первую очередь вам следует обновить ссылки в импортированном контенте, чтобы люди не получали ссылки на старые URL-адреса. Это должно быть довольно легко сделать с заменой SQL. Для вашей ситуации это будет что-то вроде:

    UPDATE wp_posts SET post_content = REPLACE(post_content, '.php', '/');
    

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

    Что касается исправления htaccess: это определенно хорошая идея сделать 301 для старых URL-адресов, если у вас много входящих ссылок, которые переводят на ценность SEO. Но объем работы, которую вы вкладываете в это, должен быть пропорционален ценности этих входящих ссылок.

    Я думаю, что не стоит пытаться переписать ВСЕ запросы.php, поскольку WordPress часто нужно делать законные запросы. Например, все запросы во внешнем интерфейсе направляются через index.php, и когда я попытался настроить правило, подобное тому, которое вы просили, это полностью сломало WordPress. Знаете, что я говорю?

    Альтернативой является установка отдельных правил для каждой страницы, которую вы хотите отправить в 301. Конечно, это может быть плохой идеей, если у вас МНОГО ссылок — как из-за хлопот, так и из-за того, что это может повлиять на производительность.

    Надеюсь, у кого-то еще есть хитрый обходной путь htaccess для вас, но я в тупике.

    • 0
  2. Насколько я знаю, хэш в конце URL-адреса ( #anchor здесь) никогда не отправляется на сервер. Однако, если вы можете просто заставить WordPress загружать правильный контент при запросе glossary.php, якорь должен работать точно так же.

    MathSmath прав в том, что 301 редирект важен, но я бы посоветовал запускать этот материал в WordPress, а не через.htaccess.

    В частности, я бы рекомендовал использовать плагин Redirection. Это дает вам простой в использовании графический интерфейс для управления всеми вашими перенаправлениями, о которых WordPress не заботится автоматически.

    • 0

Оставить ответ

You must login to add an answer.