我有以下规则 -
RewriteCond %{HTTP_HOST} ^oldsite\.com$ [NC]
RewriteRule ^(.*)$ https://www.example.com/es/archivo/blog%{REQUEST_URI} [R=301,L]
唯一的问题是重写的URL最后有一个.html,所以它看起来像
- https://www.example.com/es/archivo/blog/......something.html
我怎样才能将最后的.html剪掉?我试过这个 -
RewriteRule ^(.*)\.html$ https://www.example.com/es/archivo/blog%{REQUEST_URI} [R=301,L]
我希望最终的网址看起来像
https://www.example.com/es/archivo/blog/......something
而不是
https://www.example.com/es/archivo/blog/......something.html
答案 0 :(得分:1)
您需要在目标中使用匹配模式中捕获的值,如下所示:
RewriteCond %{HTTP_HOST} ^oldsite\.com$ [NC]
RewriteRule ^(.+)\.html$ https://www.example.com/es/archivo/blog/$1 [R=301,L,NC,NE]
在测试此更改之前清除浏览器缓存。