当前位置: 首页 > news >正文

Wordpress建站问题记录

从一月到七月因为工作的情况没有进行太深入的开发,想着整理一下把做一个独立站把博客多个渠道发布一下,遇到几个问题在这里记录一下.

先写一下我的配置
系统: centos7
php: 7.4
wordpress: 6.6.1
mysql:8.0.6

1. HTTP 500 Internal

这个问题出现在我将wordpress的文件夹全部删除然后重新解压,并且将文件夹及文件的权限全部放开的情况下出现,之后查看httpd的错误报告发现是权限错误,

sudo tail -f  /var/log/httpd/ssl_error_log

排查之后觉得应该是selinux的问题,查看selinux的状态

sestatus

觉得是selinux的策略问题导致,所以将enforece修改为0之后所有的页面都可以访问

sudo setenforce 0

所以如果排查了上面的动作之后可以和我一样首先查看log然后selinux,下面是修改方式(来源于chatgpt):

1.
sudo ausearch -m avc -ts today
2. 我在普通文件夹中保存权限问题报错,后来全部放到tmp文件下,这种文件最好也是在一个同一个地方保存
sudo grep httpd /var/log/audit/audit.log | audit2allow -M mywordpresspolicy
3.
sudo semodule -i mywordpresspolicy.pp
4.
sudo chcon -R -t httpd_sys_content_t /var/www/html/wordpress
5.
sudo chcon -R -t httpd_sys_rw_content_t /var/www/html/wordpress/wp-content/uploads
6.
sudo semanage fcontext -a -t httpd_sys_content_t "/var/www/html/wordpress(/.*)?"
sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/wordpress/wp-content/uploads(/.*)?"

2. 站点位置与实际位置不一致

在这里插入图片描述
就像上面你的两个希望在最后的网站中不需要额外的增加wordpress,直接修改过后查看文章会出现 404的情况并且查看日志可以看到index.php定向没有将wordpress自动加上,所以下面重新将官网的内容梳理了一遍,修改过后文章链接与访问均正常.
修改 index.php 文件
你需要将 WordPress 的 index.php 文件复制到站点根目录(即 /var/www/html),并更新其内容,使其指向实际的 WordPress 安装目录:

2.1 复制 index.php 文件:

cp /var/www/html/wordpress/index.php /var/www/html/

编辑复制后的 index.php 文件:

2.2 找到代码,6.6.1此处DIR为FILE

require( dirname( __DIR__ ) . '/wp-blog-header.php' );

修改为:

require( dirname( __DIR__ ) . '/wordpress/wp-blog-header.php' );

保存文件并退出编辑器。

2.3 确保 .htaccess 文件配置正确
在根目录 /var/www/html 和 WordPress 目录 /var/www/html/wordpress 中,检查 .htaccess 文件的配置。

编辑 .htaccess 文件(如果没有,创建一个)
查看隐藏文件的命令为

ls -a

查看文件:

sudo nano /var/www/html/.htaccess

2.4 确保 .htaccess 文件内容如下(如果你启用了自定义永久链接):

<?php
/*** Front to the WordPress application. This file doesn't do anything, but loads* wp-blog-header.php which does and tells WordPress to load the theme.** @package WordPress*//*** Tells WordPress to load the WordPress theme and output it.** @var bool*/
define( 'WP_USE_THEMES', true );/** Loads the WordPress Environment and Template */
require __DIR__ . '/wordpress/wp-blog-header.php';

然后保存并关闭文件。

2.5 编辑 /var/www/html/wordpress/.htaccess,确保其内容类似:

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

2.6. 更新永久链接,修改完成后,重置永久链接结构:
登录到 WordPress 管理后台。
转到设置 > 永久链接
选择其他永久链接结构并保存,然后再改回原来的结构并保存,以刷新 URL 路径。
5. 检查服务器配置
确保 Apache 或 Nginx 配置没有阻止对新站点地址的访问,并且重写模块已经启用。路径/etc/httpd/conf/httpd.conf

Include conf.modules.d/*.conf
LoadModule php7_module modules/libphp7.soLoadModule rewrite_module modules/mod_rewrite.so

3. wordpress更改的位置

3.1 ssl
存储位置

/etc/httpd/ssl/bimath.com_apache/

ssl.conf /etc/httpd/conf.d/ssl.conf

DocumentRoot "/var/www/html"
ServerName bimath.com:443

3.2 httpd.conf /etc/httpd/conf/httpd.conf

Include conf.modules.d/*.conf
LoadModule php7_module modules/libphp7.so
LoadModule rewrite_module modules/mod_rewrite.so
# serverName
ServerName www.bimath.com:443
# wordpress
<Directory /var/www/html/wordpress>AllowOverride AllRequire all granted
</Directory>

3.3 wp-config.php

/** WordPress 目录的绝对路径。 */
if ( ! defined( 'ABSPATH' ) ) {define( 'ABSPATH', __DIR__ . '/' );
}define('WP_TEMP_DIR', ABSPATH.'wp-content/tmp');
define("FS_METHOD", "direct");
define("FS_CHMOD_DIR", 0777);define("FS_CHMOD_FILE", 0777);/** 设置 WordPress 变量和包含的文件。 */
require_once ABSPATH . 'wp-settings.php';

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【C++】第一讲:入门概论
  • JavaScript 数组之flat和flatMap
  • Vue 3+Vite+Eectron从入门到实战系列之(四)一Electron热身运动(二)
  • mmsegmentation 自定义模型报错:KeyError: ‘EncoderDecoder is not in the model registry
  • 【HBZ分享】bean的生命周期 以及 各个阶段在spring的哪个类被调用
  • Leetcode75-8 递增的三元子序列
  • 在Windows MFC\C++编程中,如何使用OnCopyData函数
  • React 条件判断
  • MySql审计平台
  • MacOS Anaconda 安装教程及虚拟环境创建
  • 吴恩达:如何系统学习机器学习?
  • Java开发工具IDEA
  • 宿主机与容器(docker)之间的数据共享
  • celery使用
  • HDFS 之 文件流
  • [分享]iOS开发 - 实现UITableView Plain SectionView和table不停留一起滑动
  • “Material Design”设计规范在 ComponentOne For WinForm 的全新尝试!
  • 5分钟即可掌握的前端高效利器:JavaScript 策略模式
  • 78. Subsets
  • echarts花样作死的坑
  • eclipse的离线汉化
  • JavaScript-Array类型
  • JAVA多线程机制解析-volatilesynchronized
  • PHP 使用 Swoole - TaskWorker 实现异步操作 Mysql
  • Webpack 4x 之路 ( 四 )
  • 第三十一到第三十三天:我是精明的小卖家(一)
  • 关于extract.autodesk.io的一些说明
  • 机器学习中为什么要做归一化normalization
  • 如何优雅的使用vue+Dcloud(Hbuild)开发混合app
  • 吐槽Javascript系列二:数组中的splice和slice方法
  • 延迟脚本的方式
  • 优秀架构师必须掌握的架构思维
  • No resource identifier found for attribute,RxJava之zip操作符
  • zabbix3.2监控linux磁盘IO
  • 阿里云ACE认证之理解CDN技术
  • 组复制官方翻译九、Group Replication Technical Details
  • ​Benvista PhotoZoom Pro 9.0.4新功能介绍
  • # Swust 12th acm 邀请赛# [ A ] A+B problem [题解]
  • #### golang中【堆】的使用及底层 ####
  • #100天计划# 2013年9月29日
  • #Datawhale AI夏令营第4期#多模态大模型复盘
  • #if #elif #endif
  • #pragma 指令
  • (26)4.7 字符函数和字符串函数
  • (C#)Windows Shell 外壳编程系列4 - 上下文菜单(iContextMenu)(二)嵌入菜单和执行命令...
  • (CVPRW,2024)可学习的提示:遥感领域小样本语义分割
  • (day6) 319. 灯泡开关
  • (NO.00004)iOS实现打砖块游戏(九):游戏中小球与反弹棒的碰撞
  • (附源码)springboot优课在线教学系统 毕业设计 081251
  • (六)什么是Vite——热更新时vite、webpack做了什么
  • (十二)Flink Table API
  • (实战)静默dbca安装创建数据库 --参数说明+举例
  • (原創) 如何將struct塞進vector? (C/C++) (STL)
  • *算法训练(leetcode)第四十七天 | 并查集理论基础、107. 寻找存在的路径
  • .bat批处理(六):替换字符串中匹配的子串