Wordpress .htaccess www перенаправление сбой - PullRequest
0 голосов
/ 27 ноября 2018

Меня только что попросили помочь в администрировании благотворительного сайта WordPress.Он использует http, и я хотел бы изменить перенаправление .htaccess на www.Файл .htaccess выглядит стандартно, с добавлением 404 в начале:

ErrorDocument 404 /error.php
# 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

Я пару раз пытался добавить код перенаправления www, но он каждый раз терпел неудачу:

ErrorDocument 404 /error.php
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^l-a-m.org [NC]
RewriteRule ^(.*)$ http://www.l-a-m.org/$1 [L,R=301]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Я также пытался переместить блок перенаправления из кода # WordPress и поместить его в начало файла, но это тоже не работает.

Я новичок в WordPress, так что кто-нибудь может помочь и сказать мне, где я ошибаюсь, пожалуйста?

Ответы [ 3 ]

0 голосов
/ 27 ноября 2018

Вы можете попробовать:

RewriteCond %{HTTP_HOST} ^example.com$
RewriteRule ^(.*) http://www.example.com/$1 [QSA,L,R=301]

или принудительно установить https:

RewriteCond %{HTTP_HOST} ^example.com$
RewriteCond %{HTTPS} off
RewriteRule ^(.*) https://www.example.com/$1 [QSA,L,R=301]

Заменить example.com нужным хостом.

РЕДАКТИРОВАТЬ ВАЖНО:

В WordPress не используйте .htaccess, используйте wp-config.php и адаптируйте 2 строки с правильным именем хоста:

define('WP_HOME','http://www.domainname.com');
define('WP_SITEURL','http://www.domainname.com');
0 голосов
/ 27 ноября 2018

Ответ Шим-Сао в его комментариях ... изменение файла .htaccess не сработало, поэтому я отредактировал wp-config.php и добавил следующие работающие строки:

define('WP_HOME','http://www.l-a-m.org');
define('WP_SITEURL','http://www.l-a-m.org');

/* That's all, stop editing! Happy blogging. */
0 голосов
/ 27 ноября 2018

Попробуйте заменить:

RewriteCond %{HTTP_HOST} ^l-a-m.org [NC]
RewriteRule ^(.*)$ http://www.l-a-m.org/$1 [L,R=301]

на:

RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

Вы также упоминали о предыдущих попытках "продолжать сбой".Не могли бы вы сказать нам, что происходит не так, поскольку это может также привести к сбою подхода, описанного выше.

...