本地主机 Wordpress 永久链接不起作用

localhost Wordpress permalinks not working

我刚刚将 Wordpress 从 live 迁移到本地主机,但无法使用永久链接。

我对此很陌生,我在 MacOS 上使用 Xampp。我想使用像 localhost/side/about 这样的 URL,当我在 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

谢谢

这可能有很多原因,但大多数时候是文件权限或 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 ^(.*)/$ / [L,R=301]

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

希望对您有所帮助!!!