"{}"
// POST http://localhost:8181/empty
// HTTP/1.1 200 OK
// Server: spray-can/1.3.4
因此,这个会将所有流量从test.hemsida.eu重定向到RewriteEngine on
RewriteCond %{HTTP_HOST} ^test\.hemsida\.eu$ [OR]
RewriteCond %{HTTP_HOST} ^www\.test\.hemsida\.eu$
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^(.*)$ "https\:\/\/testar\.se\/sv/$1" [R=301,L]
但问题是如果test.hemsida.eu在路径中包含sv,它会重定向:https://testar.se/sv/$1
如果网址中没有sv,我怎么能摆脱一个sv,但仍然保留它?
答案 0 :(得分:0)
您可以通过调整正则表达式来使用它:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(?:www\.)?test\.hemsida\.eu$ [NC]
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$ [NC]
RewriteCond %{REQUEST_URI} !^/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$ [NC]
RewriteRule ^(?:sv/)?(.*)$ https://testar.se/sv/$1 [NC,NE,R=301,L]
模式开头的 (?:sv/)?
(可选匹配)将确保您始终捕获/sv/
之后的任何内容,或者如果没有/sv/
则完全匹配。