TYPO3 11配置非www转www重定向并保留路径问题
解决TYPO3 11非www到www重定向保留路径的问题
问题原因
你的现有规则顺序和TYPO3默认的.htaccess规则冲突了——TYPO3自带的URL重写规则会先把请求导向index.php,导致你的重定向规则拿到的%{REQUEST_URI}已经被替换成了/index.php,最终路径丢失。
正确的.htaccess配置方案
你需要把www强制跳转和HTTPS强制跳转的规则放在TYPO3自带的重写规则之前,同时调整规则写法避免变量拼接问题:
# 1. 强制HTTPS(优先处理,避免多次跳转) RewriteCond %{HTTPS} off RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] # 2. 强制非www跳转到www RewriteCond %{HTTP_HOST} ^my\.website\.de$ [NC] RewriteRule ^(.*)$ https://www.my.website.de/$1 [R=301,L] # 以下保留TYPO3默认的重写规则(无需修改) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^.*$ index.php [L]
关键调整点
- 规则顺序:先处理HTTPS跳转,再处理www跳转,既减少重定向次数,又避免TYPO3的index.php重写干扰路径获取。
- www跳转规则优化:直接指定目标域名,用
$1捕获完整请求路径,替代%{HTTP_HOST}拼接的方式,彻底避免路径丢失问题。 - 位置要求:必须将这两条规则放在TYPO3自带的
RewriteRule ^.*$ index.php [L]规则之前,确保在请求被导向index.php前完成重定向。
额外注意事项
- 测试前清空浏览器缓存,因为301重定向会被浏览器持久缓存。
- 确认服务器已开启
mod_rewrite模块。 - 若使用TYPO3的
config.absRefPrefix配置,确保其值设为/或匹配你的域名路径。
内容的提问来源于stack exchange,提问作者Ralf
相关产品推荐
相关产品推荐

