条件URL重写?

时间:2013-07-26 20:59:11

标签: .htaccess

我正在尝试为以下情况设置htaccess重定向。

如果应用点击包含/cms的网址作为第一个网段http://originaldomain.com/cms,我想重定向到安全域https://differentdomain.com/cms

如果网址在其他任何网址上点击https://differentdomain.com,则代理,网址,系统或不是帖子,那么我想将用户重定向到http://originaldomain.com/requestedurl

行为没问题:

https://differentdomain.com/act?fiudsbsdfn=sfds

网址没问题:

https://differentdomain.com/url

系统没问题:

https://differentdomain.com/system

POST方法适用于任何域只需重定向GET方法

这是否可以在htaccess文件中使用?

1 个答案:

答案 0 :(得分:2)

假设两个域位于同一根文件夹和主机上:

RewriteCond %{HTTP_HOST} ^originaldomain\.com$
RewriteCond %{REQUEST_URI} ^/cms
RewriteRule ^(.*)$ https://differentdomain.com/$1 [L,R=302]

如果它们不在同一根和文件夹中:

RewriteCond %{REQUEST_URI} ^/cms
RewriteRule ^(.*)$ https://differentdomain.com/$1 [L,R=302]

现在是第二部分,如果网址不是行为,网址,系统或帖子:

RewriteCond %{THE_REQUEST} !^[A-Z]{3,}\s/(act\?(.*)|url|system)$ [NC]
RewriteCond %{THE_REQUEST} !^POST [NC]
RewriteRule ^(.*)$ http://originaldomain.com/$1 [L,R=302]

基本上这应该有用,如果在你需要测试更改为302到301之后就可以了。