【问题标题】:2 domain name (EN/FR) 1 FTP redirection2 域名 (EN/FR) 1 FTP 重定向
【发布时间】:2014-12-13 07:46:46
【问题描述】:

我的 .htaccess 文件有问题。

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

目前,

  1. 如果用户键入english-hostname.com -> 它链接到index.html (经典)
  2. 如果用户键入 french-hostname.com -> 它还链接到 同一个 index.html

这就是我想要的:

  1. 如果用户输入english-hostname.com -> 它链接到index.html
  2. 如果用户键入 french-hostname.com -> 它应该链接到 index-fr.html

因为我真的不希望“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...)

有什么想法吗?

谢谢!

斯坦

【问题讨论】:

    标签: .htaccess url mod-rewrite ftp


    【解决方案1】:

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

    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/ 仍然可以访问,反之亦然。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-02
      • 1970-01-01
      • 2018-04-14
      • 2019-11-07
      • 2021-08-25
      • 2021-07-15
      • 2016-09-16
      • 1970-01-01
      相关资源
      最近更新 更多