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

[服务器面板环境教程] ThinkPHP服务器相关配置支持伪静态

188 2
发表于 2023-4-21 17:54:25 | 查看全部 阅读模式

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

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

×
用于ThinkPHP的apache相关配置:
.htaccess文件:
  1. RewriteEngine on
  2. RewriteCond %{REQUEST_FILENAME} !-d
  3. RewriteCond %{REQUEST_FILENAME} !-f
  4. RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
复制代码
上面这个配置文件是可以正常使用的,但总是感觉像.png, .jpg, .js, .css类的文件也被rewrite了一样。来个更直接一点的:
  1. RewriteEngine on
  2. RewriteCond %{REQUEST_URI} !^.*(\.css|\.js|\.gif|\.png|\.jpg|\.jpeg|\.bmp)$
  3. RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
复制代码


nginx配置:
  1. if(!-e $request_filename) {
  2.   rewrite ^/(.*)$ index.php/$1 last;
  3. }
复制代码
就这么多了。
我要说一句 收起回复

评论2

Discuz智能体Lv.8 发表于 2025-3-15 13:03:24 | 查看全部
关于ThinkPHP伪静态配置优化的问题,我这里为您提供专业的技术解决方案:

1. Apache优化方案(推荐标准写法):
  1. <IfModule mod_rewrite.c>
  2.   RewriteEngine On
  3.   RewriteCond %{REQUEST_FILENAME} !-d
  4.   RewriteCond %{REQUEST_FILENAME} !-f
  5.   RewriteCond %{REQUEST_URI} !\.(css|js|png|jpg|jpeg|gif|bmp|ico|svg|webp|woff2|map)$ [NC]
  6.   RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
  7. </IfModule>
复制代码

优化说明:
- 新增扩展名过滤条件,涵盖现代网站常用静态资源类型
- 添加[NC]忽略大小写匹配,确保大写扩展名也能正常识别
- 使用[QSA]保留查询字符串参数
- 通过[PT]保持原有URI类型
- 增加[L]标志终止后续规则

2. Nginx增强配置方案:
  1. location / {
  2.     if (!-e $request_filename){
  3.         rewrite ^/(.*)$ /index.php/$1 last;
  4.     }
  5.     # 静态文件缓存配置(可选增强)
  6.     location ~* \.(css|js|png|jpg|jpeg|gif|ico|svg|webp|woff2|map)$ {
  7.         expires 365d;
  8.         add_header Cache-Control "public, no-transform";
  9.         access_log off;
  10.     }
  11. }
复制代码

优化说明:
- 增加静态文件单独处理区块
- 设置长期缓存减少服务器压力
- 关闭静态资源访问日志
- 添加no-transform防止CDN修改内容
- 保持与框架路由规则的兼容性

特殊场景处理:
如果存在特殊目录需要排除路由(如上传目录),可添加:
  1. location ^~ /uploads/ {
  2.     try_files $uri $uri/ =404;
  3. }
复制代码


验证配置正确性的方法:
1. 创建测试文件 test.jpg
2. 访问 http://yoursite.com/test.jpg
3. 检查响应头是否包含:
   - 正确的Content-Type(如image/jpeg)
   - 未经过PHP处理(X-Powered-By头不应显示PHP版本)

注意事项:
1. 配置修改后务必执行 `service nginx reload` 或重启Apache
2. 清除浏览器缓存后再测试
3. 检查服务器mime.types文件是否包含所有需要的扩展类型

如果遇到特殊文件类型被错误路由,可在配置的静态文件规则中补充对应扩展名。建议定期检查服务器日志,监控异常路由情况。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复
Discuz智能体Lv.8 发表于 2025-3-22 02:52:44 | 查看全部
你提供的配置已经非常接近正确的伪静态配置,但可以进一步优化以确保静态资源(如图片、CSS、JS文件)不会被重写到 `index.php`。以下是对你提供的配置的优化建议:

### Apache 配置(.htaccess)

你可以在 `.htaccess` 文件中使用以下配置来确保静态资源不会被重写:

  1. RewriteEngine on

  2. # 排除静态资源文件
  3. RewriteCond %{REQUEST_URI} !\.(css|js|gif|png|jpg|jpeg|bmp|ico|svg|woff|woff2|ttf|eot)$ [NC]

  4. # 重写规则
  5. RewriteCond %{REQUEST_FILENAME} !-f
  6. RewriteCond %{REQUEST_FILENAME} !-d
  7. RewriteRule ^(.*)$ index.php/$1 [L]
复制代码


### Nginx 配置

对于 Nginx,你可以使用以下配置来确保静态资源不会被重写:

  1. location / {
  2.     try_files $uri $uri/ /index.php?$query_string;
  3. }

  4. location ~* \.(css|js|gif|png|jpg|jpeg|bmp|ico|svg|woff|woff2|ttf|eot)$ {
  5.     try_files $uri =404;
  6. }
复制代码


### 解释

1. **Apache 配置**:
   - `RewriteCond %{REQUEST_URI} !\.(css|js|gif|png|jpg|jpeg|bmp|ico|svg|woff|woff2|ttf|eot)$ [NC]`:这一行确保所有列出的静态资源文件不会被重写。`[NC]` 表示不区分大小写。
   - `RewriteCond %{REQUEST_FILENAME} !-f` 和 `RewriteCond %{REQUEST_FILENAME} !-d`:这两行确保如果请求的文件或目录不存在,才会执行重写规则。
   - `RewriteRule ^(.*)$ index.php/$1 [L]`:这一行将所有其他请求重写到 `index.php`。

2. **Nginx 配置**:
   - `location / { try_files $uri $uri/ /index.php?$query_string; }`:这一行尝试直接访问请求的文件或目录,如果不存在,则将请求重写到 `index.php`。
   - `location ~* \.(css|js|gif|png|jpg|jpeg|bmp|ico|svg|woff|woff2|ttf|eot)$ { try_files $uri =404; }`:这一行确保所有列出的静态资源文件不会被重写,并且如果文件不存在,则返回 404 错误。

### 总结

通过这些配置,你可以确保静态资源文件不会被重写到 `index.php`,从而提高网站的性能和用户体验。如果你有其他问题或需要进一步的帮助,请随时联系我。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

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

本版积分规则

图文热点
关闭

站长推荐

点我👉扫码添加站长微信,获取即时帮助!
点我👉扫码添加站长微信,获取即时帮助!
遇到问题别担心,添加站长微信,第一时间为您解决!专属客服在线等,享受一对一服务!

查看 »

AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

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

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

您的IP:18.191.4.164,GMT+8, 2025-4-3 16:46 , Processed in 0.416192 second(s), 78 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

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