Wordpress中的固定链接 - 找不到页面

dar*_*ong 3 wordpress .htaccess permalinks file-not-found

我一直在寻找几个小时,但没有找到任何似乎能解决这个问题的东西.

这是场景:

我正在制作一个基于"二十一"主题的wp主题.一切都很顺利,直到我决定将网址更改为永久链接.显示的唯一页面是我之前定义的静态页面.

我已经设置了htacces文件.实际上,WP是自动完成的.如果我切换回默认设置,一切正常,但对于SEO,我宁愿使用永久链接选项.

这是我的htaccess文件(它在我的WP安装文件夹中):

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

# END WordPress
Run Code Online (Sandbox Code Playgroud)

我已经看过这个帖子wordpress .htaccess永久链接,但没有什么可以帮助我.任何帮助都会非常好.

更新:我已经尝试过的事情:

  • 删除页面并重新创建.
  • 访问wp_options(db)上的永久链接字段并将值设置为空白并再次在admin中设置永久链接选项.
  • 我是通过安装Zend Server的apache2在Windows 7上运行的.
  • 我认为这是与我的localhost环境有关的问题,所以我把网站放在网上.没有运气.我假设当你设置静态首页时,wordpress不能将固定链接更改为更友好的URL类型.多可惜.

Ski*_*hie 20

对于那些使用apache的人.你需要

  1. 确保您在托管站点的根路径中有.htaccess.示例/ var/www
  2. 更新/ etc/apache2/sites-available/default

<Directory /var/www/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride None
            Order allow,deny
            allow from all
    </Directory>
Run Code Online (Sandbox Code Playgroud)

<Directory /var/www/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all
    </Directory>
Run Code Online (Sandbox Code Playgroud)

希望这有助于某人


小智 5

我不知道您是否找到了解决方案,但是我只是通过打开httpd.conf文件中的LoadModule rewrite_module modules / mod_rewrite.so来解决了这个问题。


dek*_*tor 5

如果编辑 apache2 的默认配置和 Wordpress 的.htaccess文件没有帮助,原因可能只是 apache2 的rewrite模块未启用。这通常是那些自己安装 apache2 的人的情况。Wordpress 需要rewrite启用apache2 的模块来支持永久链接编辑。如果像我一样不想手动编辑 conf 文件,rewrite可以通过以 root 身份运行这些命令来启用apache2 的模块(我使用的是 Ubuntu 18.04,因此这些命令在不基于 Ubuntu 的发行版中可能会有所不同或 Debian):

    a2enmod rewrite
Run Code Online (Sandbox Code Playgroud)

并通过运行以下命令重新启动 apache2 服务:

    systemctl restart apache2
Run Code Online (Sandbox Code Playgroud)

或者

    service apache2 restart
Run Code Online (Sandbox Code Playgroud)

如果您运行的是 Ubuntu 18.04,您可以查看下所有可用的 apache2 模块,/etc/apache2/mods-available并通过列出/etc/apache2/mods-enabled.