2012-04-08 41 views
0

重定向我有几个域别名指向同一个网站,如:基于URL与.htaccess的

domain1.de/en/

domain1.de/de/

domain2.ch/de/

domain2.ch/en/

当有人打开一个URL特定的基于语言的子目录,我想将它们重定向到起始页,如对于domain1.de用户应该无法访问子目录/ en /,但可以重定向到起始页面。对于domain2.ch用户应该只能访问目录/ zh /和not/de /。我如何使用Htaccess进行设置?

回答

0

这可能是一个有用的链接给你;

htaccess redirect

为301重定向它产生下面的代码整个目录:

//301 Redirect Entire Directory 
RedirectMatch 301 domain2.ch/de/(.*) domain2.ch/en//$1 
RedirectMatch 301 domain1.de/de/(.*) domain1.de/en//$1 
+0

谢谢!不幸的是,它不工作。我现在已经尝试了至少30个代码,并且都不做我想要的。我想它一定是这样的位置: RewriteEngine叙述在 的RewriteCond%{HTTP_HOST} ^德\ .domain1 \ $由Matchi.com提供回到[NC] 的RewriteCond%{QUERY_STRING}^$ 重写规则^ EN/$的http:// de.domain1.de/? [R = 301,NE,NC,L] 首先检查域别名是否完全匹配,然后将整个目录重定向到起始页。然而,它不起作用... – flip 2012-04-08 03:01:34

+0

有谁知道取决于域的条件重定向规则是如何在htaccess中定义的,例如,只有域xyz.com的子目录/ aa /应该被重定向到根目录或特定的URL? – flip 2012-04-24 02:30:36

0

试试这个:

RewriteCond %{HTTP_HOST} ^de\.domain\.de$ [NC] 
RewriteCond %{REQUEST_URI} ^(.*)/en/(.*)$ [NC] 
RewriteRule ^(.*)$ http://%{HTTP_HOST}/targetpage.php [R=301,L]