基于域通过htaccess重定向到不同的PHP文件

时间:2010-08-18 14:57:51

标签: .htaccess mod-rewrite redirect

通过htaccess

重定向到不同的PHP文件

你好。 这是事情: 我在这里有两个域[http://www.myproject.com和 [http://www.myproject.com.br ..在我的根文件夹中,我有所有的东西 我的项目包括两个“索引”:英语和英语的“index-en.php” 葡萄牙语的“index.php”。

我可以在htaccess中使用一些技巧将我的用户重定向到一个 这些文件取决于域名? ......之类的:

[http://www.myproject.com [或] [http://myproject.com重定向到[http://www.myproject.com/index-en.php

[http://www.myproject.com.br [或] [http://myproject.com.br重定向到 [http://www.myproject.com.br/index.php

...

很抱歉,如果这是一个愚蠢的问题,但我几乎疯了寻找教程 互联网,如果可能或只是一个愚蠢的问题,我不能得到一些有用的东西或一些回应..有人可以给我一些方向吗? 也许有条件directoryIndex的解决方案(我不知道是否可能)。

非常感谢

其实我的.htaccess中有这个:

ErrorDocument 404 /404.php

<IfModule mod_rewrite.c>
  #Options +FollowSymLinks
  RewriteEngine On
  RewriteBase /

  RewriteCond %{HTTP_HOST} ^myproject.com$ [NC]
  RewriteRule ^(.*)$ http://www.myproject.com/index-en.php [R=301,L]

  RewriteCond %{HTTP_HOST} ^myproject.com.br$ [NC]
  RewriteRule ^(.*)$ http://www.myproject.com.br/ [R=301,L]
</IfModule>

这只是“非www到www” - 正常工作

2 个答案:

答案 0 :(得分:0)

RewriteCond %{HTTP_HOST}  myproject\.com$
RewriteRule ^/$  /index-en.php

RewriteCond %{HTTP_HOST}  myproject\.com\.br$
RewriteRule ^/$  /index.php

答案 1 :(得分:0)

这应该做你想要的。这里的RewriteCond技巧可能有点过分,但它确实使得添加额外的语言变得更容易:

ErrorDocument 404 /404.php

RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} !^www [NC]
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{HTTP_HOST}/index.php    \.com\.br/(index.php)$ [NC,OR]
RewriteCond %{HTTP_HOST}/index-en.php \.com/(index-en.php)$  [NC]
RewriteRule ^ %1