·设为首页收藏本站📧邮箱修改🎁免费下载专区📒收藏夹👽聊天室📱AI智能体
返回列表 发布新帖

服务器重新做系统后,伪静态打不开

170 1

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
服务器重新做系统后,伪静态打不开,其它设置的跟原来是一模一样的,就是重新做了系统,然后打开就是404

服务器重新做系统后,伪静态打不开 服务,服务器,重新,系统,伪静态


ErrorDocument 404 /404.html
#  RewriteEngine
RewriteEngine On

# § /discuz § /discuz  /
RewriteBase /

# Rewrite
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^z-(.+)$ portal.php?mod=topic&topic=$1&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^a-([0-9]+)-([0-9]+)$ portal.php?mod=view&aid=$1&page=$2&%1
RewriteRule ^article-([0-9]+)-([0-9]+)\.html$ portal.php?mod=view&aid=$1&page=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^list-(\w+)-([0-9]+)$ forum.php?mod=forumdisplay&fid=$1&page=$2&%1
RewriteRule ^forum-(\w+)-([0-9]+)\.html$ forum.php?mod=forumdisplay&fid=$1&page=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^view-([0-9]+)-([0-9]+)-([0-9]+)$ forum.php?mod=viewthread&tid=$1&extra=page\%3D$3&page=$2&%1
RewriteRule ^thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ forum.php?mod=viewthread&tid=$1&extra=page\%3D$3&page=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^g-([0-9]+)-([0-9]+)$ forum.php?mod=group&fid=$1&page=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^blog-([0-9]+)-([0-9]+)$ home.php?mod=space&uid=$1&do=blog&id=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(fid|tid)-([0-9]+)$ archiver/index.php?action=$1&value=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^([a-z]+[a-z0-9_]*)-([a-z0-9_\-]+)$ plugin.php?id=$1:$2&%1


规则也是这样的,都没有改过,宝塔面板也打开了伪静态X3的

我要说一句 收起回复

评论1

AI智能体Lv.7 发表于 2025-3-21 17:38:42 | 查看全部
根据你提供的信息,服务器重新做系统后,伪静态规则无法正常工作,导致404错误。以下是一些可能的原因和解决方法:

### 1. **检查Apache的Rewrite模块是否启用**
   - 重新安装系统后,Apache的`mod_rewrite`模块可能没有启用。你需要确保该模块已启用。
   - 你可以通过以下命令检查并启用`mod_rewrite`模块:
   
  1. sudo a2enmod rewrite
  2.      sudo systemctl restart apache2
复制代码

   - 如果你使用的是宝塔面板,可以在面板的“软件管理”中找到Apache,确保`mod_rewrite`模块已启用。

### 2. **检查.htaccess文件是否生效**
   - 确保你的`.htaccess`文件在网站根目录下,并且文件内容正确。
   - 如果`.htaccess`文件存在且内容正确,但仍然无效,可能是Apache配置中未允许`.htaccess`文件覆盖配置。
   - 你可以检查Apache的配置文件(通常位于`/etc/apache2/sites-available/`目录下),确保`AllowOverride`指令设置为`All`,例如:
   
  1. <Directory /var/www/html>
  2.          AllowOverride All
  3.      </Directory>
复制代码

   - 修改后,重启Apache服务:
   
  1. sudo systemctl restart apache2
复制代码


### 3. **检查伪静态规则是否正确**
   - 你提供的伪静态规则中,有一些地方可能需要修正。例如,`(+)-(+)`这样的正则表达式可能不正确,应该使用`(\d+)-(\d+)`来匹配数字。
   - 你可以尝试将规则修改为如下:
   
  1. RewriteCond %{QUERY_STRING} ^(.*)$
  2.      RewriteRule ^z-(.+)$ portal.php?mod=topic&topic=$1&%1
  3.      RewriteCond %{QUERY_STRING} ^(.*)$
  4.      RewriteRule ^a-(\d+)-(\d+)$ portal.php?mod=view&aid=$1&page=$2&%1
  5.      RewriteRule ^article-(\d+)-(\d+)\.html$ portal.php?mod=view&aid=$1&page=$2&%1
  6.      RewriteCond %{QUERY_STRING} ^(.*)$
  7.      RewriteRule ^list-(\w+)-(\d+)$ forum.php?mod=forumdisplay&fid=$1&page=$2&%1
  8.      RewriteRule ^forum-(\w+)-(\d+)\.html$ forum.php?mod=forumdisplay&fid=$1&page=$2&%1
  9.      RewriteCond %{QUERY_STRING} ^(.*)$
  10.      RewriteRule ^view-(\d+)-(\d+)-(\d+)$ forum.php?mod=viewthread&tid=$1&extra=page\%3D$3&page=$2&%1
  11.      RewriteRule ^thread-(\d+)-(\d+)-(\d+)\.html$ forum.php?mod=viewthread&tid=$1&extra=page\%3D$3&page=$2&%1
  12.      RewriteCond %{QUERY_STRING} ^(.*)$
  13.      RewriteRule ^g-(\d+)-(\d+)$ forum.php?mod=group&fid=$1&page=$2&%1
  14.      RewriteCond %{QUERY_STRING} ^(.*)$
  15.      RewriteRule ^blog-(\d+)-(\d+)$ home.php?mod=space&uid=$1&do=blog&id=$2&%1
  16.      RewriteCond %{QUERY_STRING} ^(.*)$
  17.      RewriteRule ^(fid|tid)-(\d+)$ archiver/index.php?action=$1&value=$2&%1
  18.      RewriteCond %{QUERY_STRING} ^(.*)$
  19.      RewriteRule ^([^/]*)-(\d+)$ plugin.php?id=$1:$2&%1
复制代码


### 4. **检查宝塔面板的伪静态设置**
   - 在宝塔面板中,确保你选择了正确的伪静态规则(如Discuz X3)。
   - 你可以在宝塔面板的“网站”设置中找到对应的网站,点击“设置”,然后选择“伪静态”,确保选择了正确的规则。

### 5. **检查文件权限**
   - 确保`.htaccess`文件和网站目录的权限设置正确。通常,`.htaccess`文件的权限应为644,目录权限应为755。
   - 你可以使用以下命令修改权限:
   
  1. chmod 644 /var/www/html/.htaccess
  2.      chmod 755 /var/www/html
复制代码


### 6. **检查日志文件**
   - 查看Apache的错误日志文件(通常位于`/var/log/apache2/error.log`),以获取更多关于404错误的详细信息。
   - 你可以使用以下命令查看日志:
   
  1. tail -f /var/log/apache2/error.log
复制代码


### 7. **重启Apache服务**
   - 在完成上述步骤后,重启Apache服务以确保所有更改生效:
   
  1. sudo systemctl restart apache2
复制代码


通过以上步骤,你应该能够解决伪静态无法正常工作的问题。如果问题仍然存在,请根据错误日志中的信息进一步排查。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

图文热点
关闭

站长推荐上一条 /1 下一条

最新热评 加载中...
AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:216.73.216.212,GMT+8, 2025-6-17 03:30 , Processed in 0.405607 second(s), 102 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表