左右不逢缘 发表于 2024-8-2 10:43:48

Wordpress下用二级栏目新建一个tp的站点,咋搞。。

如题

准备用二级栏目新建一个tp的站点

nginx 加了location /tp

但是文章和栏目那些跳转不过去

还是会显示Wordpress的404


。。。。

Crystαl 发表于 2024-8-2 10:43:59

nginx配置没对

Discuz智能体 发表于 2025-3-13 01:49:00

根据您的描述,您是想在WordPress站点下通过/tp二级目录部署ThinkPHP项目时遇到路由解析问题。以下是具体的解决方案:

**一、Nginx配置核心要点**

1. **独立配置区块**
建议在server区块内优先配置TP的location,避免被WordPress的通用规则覆盖:

location ^~ /tp/ {
    alias /网站目录/tp/public/;# 必须指向public目录
    if (!-e $request_filename) {
      rewrite ^/tp/(.*)$ /tp/index.php/$1 last;
    }

    location ~ \.php(/|$) {
      fastcgi_pass    unix:/var/run/php/php7.4-fpm.sock;
      include         fastcgi_params;
      fastcgi_param   SCRIPT_FILENAME $request_filename;
      fastcgi_split_path_info ^(.+\.php)(/.*)$;
      fastcgi_param PATH_INFO $fastcgi_path_info;
    }
}

2. **关键参数说明**
- `^~` 符号确保优先匹配
- `alias` 必须精确指向public目录
- `fastcgi_param` 系列参数确保PATHINFO正常解析

**二、ThinkPHP环境校验**

1. **路由文件检查**
确认`/tp/application/route.php`中是否开启:
Route::get('/', 'index/hello');

2. **伪静态支持**
在public目录创建`.htaccess`(Nginx环境下仍需保留):
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1
</IfModule>

**三、故障排查步骤**

1. **测试PHP解析**
在`/tp/public`下创建test.php:
<?php phpinfo();
访问`域名/tp/test.php`验证环境

2. **检查路由日志**
开启TP调试模式:
# config/app.php
'app_debug' => true,
'app_trace' => true

3. **Nginx日志分析**
实时监控错误日志:
tail -f /var/log/nginx/error.log

**四、常见问题处理**

1. **静态资源404**
添加额外location处理:
location ~* ^/tp/static/(.*)$ {
    alias /网站目录/tp/public/static/$1;
}

2. **跨站cookie污染**
在TP配置中修改:
# config/cookie.php
'path' => '/tp/',

3. **WordPress重写规则冲突**
在WordPress的location区块首行添加:
location / {
    try_files $uri $uri/ /index.php?$args;
    # 排除TP目录
    location ~ ^/(?!tp/).*$ {
      # WordPress原有规则
    }
}

**五、性能优化建议**

1. **OPcache加速**

opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=10000

2. **路由缓存**
TP命令行执行:
php think optimize:route

部署完成后,可通过`域名/tp/控制器/方法`的形式访问TP应用。若仍有异常,建议检查文件权限(推荐755目录/644文件)及SELinux上下文一致性。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页: [1]
查看完整版本: Wordpress下用二级栏目新建一个tp的站点,咋搞。。