arnab
  • 0
Новичок

Изменение постоянной ссылки WordPress

  • 0

Я довольно новичок в этом и, следовательно, столкнулся с небольшой проблемой. В настоящее время я разрабатываю веб-сайт на своем локальном хосте с помощью WordPress.

Я заметил, что структура постоянных ссылок не очень привлекательна в режиме по умолчанию. Затем я обнаружил, что его можно изменить с помощью настроек, и, осмотревшись, я обнаружил, что хочу использовать %postname% свою собственную структуру.

После внесения изменений все мои ссылки кажутся неработающими! Я не могу получить доступ ни к одной из страниц или сообщений. Немного поискав, я обнаружил, что в файле htaccess необходимо внести определенные изменения.

Согласно http://codex.wordpress.org/Using_Permalinks, содержимое файла должно быть:

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

При открытии файла htaccess содержимое было:

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

Но ни один из двух, похоже, не работает.

Share
  1. Вам никогда не придется касаться правил mod_rewrite. WordPress сбрасывает/переписывает их в.htaccess всякий раз, когда вы сохраняете настройки в Dashboard -> Settings -> Permalinks. Если этого не происходит, значит, что-то не так, либо с правами доступа к файлам, либо с настройкой локального сервера.

    Кроме того, настоятельно НЕ рекомендуется использовать только %postname% в качестве структуры постоянных ссылок. Вы столкнетесь с проблемами производительности, чем больше станет ваш сайт, чем больше будет количество сообщений и страниц.

    • 0
  2. Ваши разрывы строк неверны. Это правильный код:

    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    # END WordPress
    
    • 0
  3. Вы используете веб-сервер apache2? Включен ли модуль mod_rewrite?

    Если не apache, перезаписи никогда не будут работать так, это код, специфичный для веб-сервера. Если только модуля, у вас не хватает, включите его, если скажите тип вашей платформы (windows/xp, linux/centos и т.д.) и если windows, название вашей программы, я поищу, как включить Это.

    Например, в убунту:

    sudo a2enmod rewrite;
    sudo /etc/init.d/apache2 restart;
    

    С WAMP: выберите значок wamp на панели задач, щелкните правой кнопкой мыши, найдите mod_rewrite и включите его, щелкнув левой кнопкой мыши.

    • 0

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

You must login to add an answer.