【问题标题】:At apache server, several address to one domain在 apache 服务器上,一个域的多个地址
【发布时间】:2017-01-26 18:12:24
【问题描述】:

我一直在使用 php 框架开发 Web 应用程序 - apache 服务器上的 codeigniter。 例如,我的服务器地址有三个地址 - 10...*, www.test.com, test.com

在codeigniter框架中,我在config.php中设置了base url

$config['base_url'] = 'http://www.test.com/';

所以我希望客户的请求将重定向到 www.test.com 地址。

也就是说,

http://test.com/   =======> http://www.test.com/
http://10.*.*.*/   =======> http://www.test.com/

在文档中,它告诉我我必须使用 .htaccess 文件。 但是,我对此一无所知。 如何将多个地址重定向到一个地址?

【问题讨论】:

    标签: php apache .htaccess codeigniter


    【解决方案1】:

    在站点的 htaccess 文件中,您可以使用以下内容

    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTP_HOST} !^www\.test\.com$ [NC]
    RewriteRule ^(.*)$ http://www.test.com/$1 [L,R=301]
    </IfModule>
    

    如果您以前没有使用过 mod-rewrite,则需要在您的服务器上启用它。 .htaccess 文件需要放在您的文档根文件夹中,通常是 public 或 public_html。

    这里有一些关于在 Ubuntu 下在 apache 上启用 modrewrite 的说明。如果您让我知道您使用的是什么服务器或主机,我可能会为您提供一些更好的说明。注意:您可能会发现它已经为您启用了!

    https://www.digitalocean.com/community/tutorials/how-to-set-up-mod_rewrite-for-apache-on-ubuntu-14-04

    【讨论】:

    • 谢谢你的回答,但是如何移动test.com/admin?我有 /var/www/html/admin 目录,我想在这个目录中创建 .htaccess 文件...
    • 您可以简单地将它放在文档根目录的任何位置,因此如果它在 admin 文件夹中,则只需将其放在那里。
    【解决方案2】:

    应该这样做。

    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTP_HOST} !^$
    RewriteCond %{HTTP_HOST} !^www\. [NC]
    RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    
    RewriteCond %{HTTP_HOST} !^$
    RewriteCond %{HTTP_HOST} ^10\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$
    RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
    </IfModule>
    

    每个块的第一个条件意味着:主机不为空 第一个块的第二个条件意味着:主机不匹配 www.* 第二个块的第二个条件意味着:主机匹配一个以10开头的IP地址,它也会匹配无效的IP,例如。 10.256..

    然后重定向(或重写)请求,其中 301 表示永久,L 表示停止重写。

    为此,您需要在 apache 中启用 mod_rewrite。

    【讨论】:

      猜你喜欢
      • 2011-08-17
      • 2011-02-15
      • 2012-12-08
      • 2021-10-04
      • 2012-11-30
      • 2017-05-19
      • 1970-01-01
      • 2015-10-12
      • 2015-01-31
      相关资源
      最近更新 更多