我需要有关重写规则的帮助,我无法使其正常工作。
旧网址是这样的:
/A/B-C.html
或
/A/B-C.html#postD
A:与“ - ”连接的一个或多个单词。
B:一个号码
C:与“ - ”连接的一个或多个单词,可能包含数字
D:数字
一个典型的例子:
/general-discussion/1234-how-are-you.html
或
/general-discussion/1234-how-are-you.html#post5678
新网址就像
/t1234-how-are-you.html
或
/t1234-how-are-you.html#post5678
我想出了以下格式,但它无法匹配任何网址:
RewriteRule ^/[a-z][-a-z]+/([1-9][0-9]*-.+\.html(#post[0-9]+)?)$ /t$1 [R=301,L,QSA]
答案 0 :(得分:1)
值得注意的是,URL中的“Fragment”部分(#之后的位)仅是浏览器本地的,而不是传递给Web服务器,因此您无法对其进行任何匹配。 / p>
以下规则适合您。
RewriteRule ^[a-z][-a-z]+/([0-9]+-[a-z0-9-]+\.html)$ /t$1 [R=301,L,QSA]