2域名(EN / FR)1 FTP重定向

时间:2014-10-17 16:55:57

标签: .htaccess url mod-rewrite ftp

我的.htaccess文件存在问题。

我有两个domaine name关联到同一个FTP服务器。 一个域名是英文,另一个是法文。

目前,

  1. 如果用户输入english-hostname.com - >它链接到index.html (经典)
  2. 如果用户输入french-hostname.com - >它也链接到     相同的index.html
  3. 所以这就是我想要的:

    1. 如果用户输入english-hostname.com - >它链接到index.html
    2. 如果用户输入french-hostname.com - >它应链接到 索引fr.html
    3. 由于我真的不希望“index-fr.html”出现在url中,我创建了一个名为“fr”的子文件夹,并将法语索引放入其中。

      这是我的.htaccess文件

      RewriteEngine On
      RewriteCond %{HTTP_HOST} ^french-hostname.com$ [NC]
      RewriteRule ^(.*)$ http://www.french-hostanme.com/fr/$1 [L,R=301]
      
      RewriteCond %{HTTP_HOST} ^english-hostanme.com$ [NC]
      RewriteRule ^(.*)$ http://www.english-hostname.com/$1 [L,R=301]
      

      我显然不熟悉这些重定向/重写规则,每次尝试此代码时都会破坏我的网站(错误500 ...)

      请问好吗?

      谢谢!

      斯坦

1 个答案:

答案 0 :(得分:0)

将每个版本放在专用文件夹中,以便更好地组织。然后,您需要其他条件才能正确重定向域:

RewriteEngine on

RewriteCond %{HTTP_HOST} ^(www.)?english-hostname.com$
RewriteCond %{REQUEST_URI} !^/en/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /en/$1

RewriteCond %{HTTP_HOST} ^(www.)?french-hostname.com$
RewriteCond %{REQUEST_URI} !^/fr/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /fr/$1

请注意, http://english-hostname.com/fr/ 仍可访问,反之亦然。