繁体   English   中英

htaccess将根重定向到重写的子域

[英]htaccess redirect root to rewritten subdomain

我有一个棘手的htaccess问题,我似乎无法弄清楚

一个Webapp是用/ 2 /编写的

我们以前将/ card /改写为/ 2 /以获得更漂亮的网址

现在,我们将/ ss-card /重写为/ 2 /,以获得更清晰的网址

但是/ 2 /仍然可以访问,我们希望/ 2 /重定向到/ ss-card /,而我所做的尝试已在重定向循环中结束

我的问题是,这可能吗?

这是我的代码

RewriteEngine on

RewriteBase /

RewriteCond %{REQUEST_URI} !^/ss-card
RewriteCond %{REQUEST_URI} !^/2

Redirect 301 /card /ss-card
Redirect 301 /card/ /ss-card/

RewriteRule ^(.*)$ /ss-card/$1 [R=302,L,NC]

RewriteRule ^ss-card/card$ /ss-card/ [R=302,L,NC]
RewriteRule ^ss-card/card/$ /ss-card/ [R=302,L,NC]
RewriteRule ^ss-card/card/(.*)$ /ss-card/$1 [R=302,L,NC]

RewriteRule ^card$ /ss-card/ [R=302,L,NC]
RewriteRule ^card/?$ /ss-card/ [R=302,L,NC]

RewriteRule ^ss-card$ /2/ [L,NC]
RewriteRule ^ss-card/?$ /2/ [L,NC]
RewriteRule ^ss-card/(.*)$ /2/$1 [L,NC]

尝试在%{THE_REQUEST}变量中检查/2/

RewriteEngine on

RewriteBase /

RewriteCond %{THE_REQUEST} \ /+2/
RewriteRule ^2/(.*)$ /ss-card/$1 [L,R=301]

Redirect 301 /card /ss-card
Redirect 301 /card/ /ss-card/

RewriteCond %{REQUEST_URI} !^/ss-card
RewriteCond %{REQUEST_URI} !^/2
RewriteRule ^(.*)$ /ss-card/$1 [R=302,L,NC]

RewriteRule ^ss-card/card$ /ss-card/ [R=302,L,NC]
RewriteRule ^ss-card/card/$ /ss-card/ [R=302,L,NC]
RewriteRule ^ss-card/card/(.*)$ /ss-card/$1 [R=302,L,NC]

RewriteRule ^card$ /ss-card/ [R=302,L,NC]
RewriteRule ^card/?$ /ss-card/ [R=302,L,NC]

RewriteRule ^ss-card$ /2/ [L,NC]
RewriteRule ^ss-card/?$ /2/ [L,NC]

RewriteRule ^ ss卡/(.*)$ / 2 / $ 1 [L,NC]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM