有条件的 .htaccess 重定向

有条件的 .htaccess 重定向

关于这个话题有很多问题和答案。但我还是被困住了!

我的网站中有我的基本功能.htaccess,运行良好,可以将每个人重定向到我的新网站的主页。

Options +FollowSymLinks 
RewriteEngine on 

RewriteCond %{HTTP_HOST} ^oldsite.com [OR] 
RewriteCond %{HTTP_HOST} ^www.oldsite.com [NC]

RewriteRule (.*) https://newsite.com [R=301,L]

但现在,我尝试根据以下条件“智能”地重定向用户:

IF {Page URL matches /services(.*)}
  THEN {Redirect users to http://newsite.com/solutions/}
ELSEIF {Page URL == /faq/faq1}
  THEN {Redirect users to https://newsite.com/faq/}
ELSE {Redirect users to https://newsite.com/} (root domain)

怎么做?

答案1

我假设您在所有情况下都希望重定向到 HTTPS,这http://只是一个拼写错误。

RewriteCond %{HTTP_HOST} ^oldsite.com [OR] 
RewriteCond %{HTTP_HOST} ^www.oldsite.com [NC]
RewriteRule ^/services https://newsite.com/solutions/ [R=301,L]

RewriteCond %{HTTP_HOST} ^oldsite.com [OR] 
RewriteCond %{HTTP_HOST} ^www.oldsite.com [NC]
RewriteRule ^/faq/faq1 https://newsite.com/faq/ [R=301,L]

RewriteCond %{HTTP_HOST} ^oldsite.com [OR] 
RewriteCond %{HTTP_HOST} ^www.oldsite.com [NC]
RewriteRule .* https://newsite.com/ [R=301,L]

相关内容