localhost Постоянные ссылки Wordpress не работают - PullRequest
0 голосов
/ 25 декабря 2018

Я только что перенес Wordpress из live в localhost и не могу получить постоянные ссылки.

Я довольно новичок в этом, и я использую Xampp для MacOS.Я хочу использовать URL-адреса, такие как localhost / side / about, и когда я устанавливаю их в wp-admin, он запрашивает 404. Я копался, но дело в том, что когда я помещаю .htaccess в корневую папку сайта, онпросто делает .php файлы загружаемыми, поэтому я удалил его (имейте копию с), и он отлично работал.Теперь мне просто нужны постоянные ссылки, чтобы быть SEO дружественным.

Файл .htaccess, загруженный с действующего сайта, выглядит следующим образом:

# 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
# php -- BEGIN cPanel-generated handler, do not edit
# Set the “ea-php70” package as the default “PHP” programming 
language.
<IfModule mime_module>
AddType application/x-httpd-ea-php70 .php .php7 .phtml
</IfModule>
# php -- END cPanel-generated handler, do not edit

Мой локальный сайт находится в / htdocs / side

Спасибо

1 Ответ

0 голосов
/ 25 декабря 2018

Причин может быть много, но в большинстве случаев это либо права доступа к файлу, либо модуль Apache mod_rewrite.Вот как вы можете исправить это по двум причинам:

Проблема с правами доступа к файлу: Вам нужно будет дать вашей папке Wordpress некоторые разрешения, для этого используйте следующие команды в терминале, затем проверьтедля правил переопределения в /etc/apache2/httpd.conf, а затем перезапустите сервер Apache и проверьте, работает ли он

sudo chown _www:_www /YOUR_WORDPRESS_DIRECTORY_ADDRESS
sudo chmod 0775 /YOUR_WORDPRESS_DIRECTORY_ADDRESS
sudo dseditgroup -o edit -a username -t user _www

В вашем случае /YOUR_WORDPRESS_DIRECTORY_ADDRESS будет /htdocs/side, а также измените username на ваше имя пользователя.

После этого убедитесь, что для AllowOverride установлено значение All для корневого веб-каталога в /etc/apache2/httpd.conf.

Apache mod_rewrite Проблема: Чтобы убедиться, что модуль mod_rewrite включенпосмотрите на /etc/apache2/httpd.conf и убедитесь, что строка:

LoadModule rewrite_module libexec/apache2/mod_rewrite.so

не закомментирована, если нет, то раскомментируйте это и перезапустите сервер Apache.

Также поместите это в файл .htaccess:

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    RewriteRule ^(.*)/$ /$1 [L,R=301]

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

Надеюсь, это поможет !!!

...