【发布时间】:2020-03-29 14:19:17
【问题描述】:
我已将我的 wordpress 永久链接设置默认 http://localhost/mywebsite/?p=123 更改为帖子名称 http://localhost/mywebsite/sample-post/。
然后我创建一个页面。它不工作。 找不到 404 页面。
对此没有插件有任何解决方案。
谢谢
【问题讨论】:
我已将我的 wordpress 永久链接设置默认 http://localhost/mywebsite/?p=123 更改为帖子名称 http://localhost/mywebsite/sample-post/。
然后我创建一个页面。它不工作。 找不到 404 页面。
对此没有插件有任何解决方案。
谢谢
【问题讨论】:
已解决
本地主机中的此问题。所以我们需要在 Apache 中开启重写模块。
所以如果您使用的是 XAMPP 或 WAMP 包,那么您将在以下位置找到该文件:
{xampp_dir}/apache/conf/httpd.conf
{wamp_dir}/apache/conf/httpd.conf
搜索以下字符串:
#LoadModule rewrite_module modules/mod_rewrite.so
去掉“#”号
【讨论】:
转到设置->永久链接设置->再次选择单选按钮并单击保存按钮
【讨论】:
您可以检查您的 WordPress 主目录中是否存在 htaccess 文件,如上所示。如果没有,请创建一个:
$ sudo nano /var/www/html/.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
按 ctrl+x 并按 y 保存文件。并通过
重新启动apache$ sudo service apache2 重启
你会想要告诉 apache 跟随你的 .htaccess 文件。您可以通过编辑 apache.conf 文件来做到这一点
$sudo nano /etc/apache2/apache.conf
向下滚动到该行 默认情况下它将是:
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
将 AllowOverride 的值更改为 All 现在它变为:
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
按 ctrl+x 并按 y 保存配置文件。为了对服务器进行此更改,首先启用 mod_rewrite by。
$ sudo a2enmod rewrite
然后重启服务器
$ sudo service apache2 restart
完成!
来源:https://www.wst.space/riddling-with-wordpress-permalink-setup-issues/
【讨论】:
如果其他人遇到这个问题。
确保您在更改永久链接设置时具有写入权限。检查您是否有.htaccess 文件并且存在以下内容:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wordpressfoldername/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wordpressfoldername/index.php [L]
</IfModule>
【讨论】: