Wordpress中的固定链接 - 找不到页面
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Wordpress中的固定链接 - 找不到页面相关的知识,希望对你有一定的参考价值。
我一直在寻找几个小时,但没有找到任何似乎能解决这个问题的东西。
这是场景:
我正在制作一个基于“二十一”主题的wp主题。一切都很顺利,直到我决定将网址更改为永久链接。显示的唯一页面是我之前定义的静态页面。
我已经设置了htaccess文件。实际上,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
我看过这篇文章wordpress .htaccess with permalinks但没有什么可以帮助我。任何帮助都会非常好。
更新:我已经尝试过的事情:
- 删除页面并重新创建。
- 访问wp_options(db)上的永久链接字段并将值设置为空白并再次在admin中设置永久链接选项。
- 我是通过安装Zend Server的apache2在Windows 7上运行的。
- 我认为这是与我的localhost环境有关的问题,所以我把网站放在网上。没有运气。我假设当你设置静态首页时,wordpress不能将固定链接更改为更友好的URL类型。多可惜。
对于那些使用apache的人。你需要
- 确保您在托管站点的根路径中有.htaccess。示例/ var / www
- 更新/ etc / apache2 / sites-available / default
从
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
至
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
希望这有助于某人
我不知道你是否找到了它的解决方案,但我通过在httpd.conf文件中打开LoadModule rewrite_module modules / mod_rewrite.so解决了这个问题。
另见Permalinks on WordPress (Amazon EC2)
我有同样的问题,但上面链接中的作者建议做三件事(它对我有用!):
去/etc/httpd/conf
并编辑httpd.conf
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
如果将AllowOverride设置为None,也更改它
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride All
我还没有创建它,在wordpress安装的根目录中放置一个.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
httpd.conf文件中有两个“目录”部分。一个用于根文件夹,另一个用于htdocs文件夹。您必须编辑这两个字段才能使WordPress页面再次运行。希望能帮助到你。
这对我来说就像@Skillachie一样写了但是如果你使用SSL,还要确保将这些设置包含在000-default-SSL.conf文件中!
<Directory /var/www/PATH>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
如果编辑apache2的默认配置和Wordpress的.htaccess
文件没有帮助,原因可能只是apache2的rewrite
模块未启用。对于那些自己安装apache2的人来说通常就是这种情况。 Wordpress需要启用apache2的rewrite
模块来支持永久链接编辑。如果像我一样,你不想手动编辑conf文件,可以通过以root身份运行这些命令来启用apache2的rewrite
模块(我使用的是Ubuntu 18.04,但我确信命令与其他发行版没有区别) :
a2enmod rewrite
并通过运行以下命令重新启动apache2服务:
systemctl restart apache2
要么
service apache2 restart
如果您正在运行Ubuntu 18.04,您可以查看/etc/apache2/mods-available
下所有可用的apache2模块,并通过列出/etc/apache2/mods-enabled
下的文件来查看启用了哪些模块。
以上是关于Wordpress中的固定链接 - 找不到页面的主要内容,如果未能解决你的问题,请参考以下文章
WordPress 给我的 404 页面找不到除主页以外的所有页面
在 localhost WordPress 网站上找不到页面