.htaccess 需要有关htaccess重定向的帮助

zphenhs4  于 2022-11-30  发布在  其他
关注(0)|答案(2)|浏览(173)

需要帮助使htaccess。我使用2个域:abc.domain1.com和domain2.com。htaccess将在domain2.com。我想用它来做vbulletin shorturl。
其想法是:
1.将domain2.com/[numbers](示例= domain2.com/678)重定向到abc.domain1.com/threads/[same numbers](示例= abc.domain1.com/threads/678
1.将domain2.com/a[numbers](示例= domain2.com/a1234)重定向到abc.domain1.com/forums/[same numbers](示例= abc.domain1.com/forums/1234
我尝试了案例1,是与:

RedirectMatch ^/(.*) https://abc.domain1.com/threads/$1

但对第二种情况不起作用我试过了

RedirectMatch ^/f(.*) https://abc.domain1.com/forums/$1

但它给我/线程/f[数字]

dsekswqp

dsekswqp1#

问题是/f1234^/(.*)匹配,它被重定向到https://abc.domain1.com/threads/f1234
反转RedirectMatch行,使更具体的重定向指向顶部,而“捕获全部”位于最底部:

RedirectMatch ^/f(.*) https://abc.domain1.com/forums/$1
RedirectMatch ^/(.*) https://abc.domain1.com/threads/$1
f2uvfpb9

f2uvfpb92#

你也可以通过更具体的正则表达式来解决这个问题。如果你只想匹配数字,那么你就应该这样做,只匹配数字。例如:

RedirectMatch ^/(\d*)$ https://abc.domain1.com/threads/$1
RedirectMatch ^/f(\d*)$ https://abc.domain1.com/forums/$1

速记字符类\d只匹配数字0-9,尾部的字符串结尾锚($)确保URL路径中没有其他字符。
根据你最初的指令,当没有给出任何数字时,这也是匹配的。例如,只有//f。这是意图吗?

相关问题