需要帮助使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[数字]
2条答案
按热度按时间dsekswqp1#
问题是
/f1234
与^/(.*)
匹配,它被重定向到https://abc.domain1.com/threads/f1234
。反转
RedirectMatch
行,使更具体的重定向指向顶部,而“捕获全部”位于最底部:f2uvfpb92#
你也可以通过更具体的正则表达式来解决这个问题。如果你只想匹配数字,那么你就应该这样做,只匹配数字。例如:
速记字符类
\d
只匹配数字0-9,尾部的字符串结尾锚($
)确保URL路径中没有其他字符。根据你最初的指令,当没有给出任何数字时,这也是匹配的。例如,只有
/
和/f
。这是意图吗?