我的主网站下面有多个子域: 所以: example.com products.example.com books.example.com等
我尝试创建一个重定向,例如: RedirectMatch 301 ^ / products / catalog /(.*)//products.example.com/$1 但这并不起作用,因为产品"是一个子目录/子域,因此它只是在//products.example.com
创建一个重定向循环But This works (because /store isn't //store.example.com/)
RedirectMatch 301 ^/store/catalog/(.*) //products.example.com/$1
我尝试使用重写来让它只重定向,如果网址包含根域,但这也不起作用。
如果页面如下: //products.example.com/products/great-thing.html存在并且是安装在文件夹" products"中的主域下的子域。 (即/ public_html / products / ...)
-- how would you redirect from:
//example.com/products/great-thing.html to
//products.example.com/products/great-thing.html
我希望这是有道理的!
我应该补充一点,这个网站托管在托管云/ vps上 - 因此他们的设置中可能会出现一些问题。
但最后,当存在同名文件夹/子域名时,似乎存在创建重定向的问题...
答案 0 :(得分:1)
这很难追查并且可能比直接的apache重定向问题更像是一个过程线程cms问题,但是如果它对某人有帮助,那么有用的是:
所需的顶级(即根域网站) //example.com/products/great-thing.html到//products.example.com/products/great-thing.html
RewriteRule ^(。)/ products /(.)https://products.example.com/products/ $ 2 [R = 301,L]
本应该去的: https://products.example.com/products/great-thing.html ,而是创建了一个永不解决的循环。
但是在子网站(processwire)上添加时它确实有效: RewriteRule ^ products /(.*) ^ / products / $ 1 [R = 301,L]