简介设置
扩展 realurl
在浏览器中提供了带有 GET 参数的 URL 的完全转换,例如“index.php?id = 123&type = 0&L = 1”到虚拟路径中,所谓的 Speaking URL
就像“home / about-us” /index.html“又回来了。目标是 URL 应尽可能具有人类可读性。
扩展非常灵活,可以提供从页面 ID 的简单转换到几乎任何可能的 GET 参数组合的编码。
要安装此扩展,必须执行以下四个步骤:
- 将其安装在 Extension Manager 中
- 配置 Apache / .htaccess
- 使用 RealURL 的配置修改 TypoScript 模板记录
- 在 typo3conf / localconf.php 中配置扩展
配置 Apache
RealURL 通过为虚拟文件提供虚拟路径来工作。这些实际上并不存在于文件系统中,因此如果无法找到该文件,你必须告诉 Apache 让 PHP 脚本处理该请求。这样,页面的所有 URL(如 www.server.com/products/product1/left.html)都将重定向到/index.php,后者将处理将 URL 转换为 GET 参数的过程。尽管如此,真实文件(如图像,TYPO3 后端,静态 html 文件等)仍将由 Apache 自己处理。
你应该将提供的示例 .htaccess 文件(称为_.htaccess)放在 TYPO3 安装的根目录中。
或者,你可以在 httpd.conf 中包含以下行,可能在 VirtualHost -section 中。这是一个例子:
<VirtualHost 127.0.0.1>
DocumentRoot /var/www/typo3/dev/testsite-3/
ServerName www.test1.intra
RewriteEngine On
RewriteRule ^/typo3$ - [L]
RewriteRule ^/typo3/.*$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .* /index.php
</VirtualHost>
如果你将它放入 .htaccess 文件中,它必须看起来略有不同,基本上剥离前导斜杠(“/”):
RewriteEngine On
RewriteRule ^typo3$ - [L]
RewriteRule ^typo3/.*$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .* index.php
这将告诉 Apache 它应该重写每个不是文件名,目录或符号链接的 URL。它留下了以/ typo3 /单独开头的一切。
NGINX 配置 (可选)
如果 NGINX 作为 HTTP 服务器而不是 Apache 的,重写规则也需要申请,并放入服务器的网站结构的剖视图从网站可用 :
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
TypoScript 配置
将这三行放在你网站的主要 TypoScript 模板记录中:
config.simulateStaticDocuments = 0
config.baseURL = http://mydomain.com/
config.tx_realurl_enable = 1
第 1 行只是禁用 simulateStaticDocuments
- RealURL
与 simulateStaticDocuments 不兼容,如果已启用它将无法正常工作。这条线应该提醒你这个事实。
第 2 行使前端输出页面标题中的 <base>
标记。这是必需的,因为除非已设置虚拟路径,否则在使用虚拟路径时,对图像,样式表等的相对引用将会中断。请参阅下面的详细讨论,了解为何需要这样做。别忘了写下你域名的真实姓名! 并注意到最后的斜线 - 它是必需的!
第 3 行可以将 URL 编码为虚拟路径,即 Speaking URL
。
如果使用 config.typolinkEnableLinksAcrossDomains,请确保在站点根目录的所有页面上选中“是站点根目录吗?”。
最后,你必须生成一个 realurl.conf.php 文件。你可以通过允许扩展程序自动创建它,也可以手动执行。
将在下一个主题中介绍
礼貌:
德米特里·杜勒波夫
https://docs.typo3.org/typo3cms/extensions/realurl/Realurl/Index.html