0

我有以下工作 RewriteRule:

RewriteCond %{QUERY_STRING}#%{HTTP_HOST} ^IG([^&#]+)#(?:www\.)?([^.]+)\. [NC]
RewriteRule ^ https://www.mysite.de/link/ig/%2/%1? [L,NE,R=302]

我想修改 RewriteRule 以捕获任何子域,而不仅仅是www.

老实说,我不明白这部分(?:www\.)?。第二个?说之前的一切都可能发生 0 - 任何时候。但我不明白第一个问号与冒号的组合。

我试过这个:

RewriteCond %{QUERY_STRING}#%{HTTP_HOST} ^IG([^&#]+)#(.+\.)?([^.]+)\. [NC]

和这个:

RewriteCond %{QUERY_STRING}#%{HTTP_HOST} ^IG([^&#]+)#(?:.+\.)?([^.]+)\. [NC]

两者都不起作用。

4

1 回答 1

0

我错了,这确实有效:

RewriteCond %{QUERY_STRING}#%{HTTP_HOST} ^IG([^&#]+)#(?:.+\.)?([^.]+)\. [NC]
RewriteRule ^ https://www.mysite.de/link/ig/%2/%1? [L,NE,R=302]

任何人都可以解释一下这部分(?:www\.)?吗?

于 2020-06-22T10:50:36.493 回答