问题说明
文章自动生成的连接较复杂且可能带有中文,更改 仪表盘—设置—固定连接后出现一下问题:
- 文章详情“有点尴尬诶!该页无法显示”
- 文章详情404找不到
官方说明
验证mod_rewrite
- Apache默认情况下启用mod_rewrite 模块。httpd -M命令打印所有加载的模块列表:
httpd -M
- 如果rewrite_module不在输出里,通过编辑使它00-base.conf文件
vi /etc/httpd/conf.modules.d/00-base.conf
- 添加以下行或取消注释
LoadModule rewrite_module modules/mod_rewrite.so
修改Apache配置文件
vi /etc/httpd/conf/httpd.conf
- 大概在151行AllowOverride None 改为 AllowOverride All
#
# 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 None //改为 AllowOverride All
- 保存退出并重启Apache
systemctl restart httpd
设置固定连接
- 仪表盘—设置—固定连接 具体设置请看官网介绍、
无法创建.htaccess文件
.htaccess文件一般是隐藏的并与index.php文件在同一目录下
如果网站是通过ip直接访问(取消了二级域名ip/wordpress访问)那么index.php文件应该是在/var/www/html下
否则index.php在wp安装的根目录下(/var/www/html/wordpress)在index.php文件的目录下 创建/修改.htaccess
vi .htaccess
- 根据网站提示将代码复制到.htaccess中
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wordpress/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wordpress/index.php [L]
</IfModule>
- 给予权限660或644
chmod 660 .htaccess