.htaccess 如何使用htaccess将所有子域重定向到另一个带有参数的后缀斜杠的子域?

gv8xihay  于 2022-11-16  发布在  其他
关注(0)|答案(1)|浏览(133)

如果我在通配符中使用任何内容,它会将我重定向到example.com/shop。但我想要的是,当有人使用anything.example.com/code时,他会将我重定向到example.com/shop/code。如果我在尾部斜杠后面使用任何内容,当前设置会将我重定向到example.com/code/shop

RewriteEngine On

RewriteCond %{HTTP_HOST} ^[^.]+\.(example\.com)$ [NC]
RewriteRule ^ http://%1%{REQUEST_URI}/shop [R=301,L,NE]
rm5edbpk

rm5edbpk1#

您似乎只需要反转 substitution 字符串中的%{REQUEST_URI}/shop部分...(?)
例如:

RewriteCond %{HTTP_HOST} ^[^.]+\.(example\.com)$ [NC]
RewriteRule ^ http://%1/shop%{REQUEST_URI} [R=301,L,NE]

REQUEST_URI服务器变量包含用户请求的完整URL路径(仅限),包括斜杠前缀。
在测试之前,您需要清除浏览器缓存。(最好先使用302临时重定向进行测试,以避免缓存问题。)

相关问题