colorcube/simulate-static-urls 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

colorcube/simulate-static-urls

Composer 安装命令:

composer require colorcube/simulate-static-urls

包简介

Speaking urls without the hassle

README 文档

README

This is a TYPO3 extension.

What does it do?

Adds the possibility to have speaking urls in the TYPO3 frontend (website). This means instead of having urls (links) like this

/index.php?id=42&L=1

the extension creates urls like this

/en/topics/interesting/cool_new_stuff_here.42.0.1.html

For more information have a look in documentation.

ASCII urls

A special feature is that ascii text will be generated from languages with non-ascii characters.

For example the page title

зимой холодно

will be converted to the text

zimoi_kholodno

How does it work

Other speaking url solutions have a problem. It is impossible to decode their urls to a TYPO3 page without storing that url before with the relation to the page. If you loose that information you can't decode the url. This is broken by design.

(To be honest simulate_static_urls has also a feature to encode parameters in shorter urls which produces problems if you deleted the hash table. But still the right page would be displayed.)

If you prefer an url like /en/topics/interesting/cool_new_stuff_here/ you might want to have a look at other xxxurl extensions. But maybe you want to hear what the meaning of the three numbers are:

/en/topics/interesting/cool_new_stuff_here.42.0.1.html

Except the original simulatestatic extension, all other xxxurl extensions have the problem that the url can not be decoded until the page is rendered once. Normally that's not a problem until your url registry got corrupt. The second thing is that moving pages to a new location has to be tracked. Otherwise the page would no longer be found with the first url. There are also problems with duplicate names of pages and path ...

The urls created by this extension include

  • the page id
  • the page type
  • the language

With that information a page can be found and delivered no matter what the rest of the url looks like. You now what? In fact the rest of the url is completely ignored and has no meaning to the system.

Unfortunately ... there are parameters. There's no magic to remove them, so there's an registry for parameters when you choose to shorten the url with parameters. But if that's lost the url is still working and shows the right page, but maybe not the single news entry what would normally displayed.

Usage

Further information: https://docs.typo3.org/p/colorcube/simulate-static-urls/master/en-us/

Dependencies

  • TYPO3 7.6 - 8.7

Installation

Installation using Composer

In your Composer based TYPO3 project root, just do composer require colorcube/simulate-static-urls.

Installation as extension from TYPO3 Extension Repository (TER)

Download and install the extension with the extension manager module.

Contribute

TODO

  • simulateStaticUrls.parameterEncodingInclude has to be set to make md5 work?
  • remove simulateStaticUrls.parameterEncodingExclude?
  • tests
  • does mount pages work?

colorcube/simulate-static-urls 适用场景与选型建议

colorcube/simulate-static-urls 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 55 次下载、GitHub Stars 达 0, 最近一次更新时间为 2018 年 08 月 18 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「extension」 「typo3」 「Speaking URL」 「simulate static urls」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 colorcube/simulate-static-urls 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 colorcube/simulate-static-urls 我们能提供哪些服务?
定制开发 / 二次开发

基于 colorcube/simulate-static-urls 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 55
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 2
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: GPL-2.0-or-later
  • 更新时间: 2018-08-18