【问题标题】:htaccess rewrite based on IP or domainhtaccess 基于 IP 或域重写
【发布时间】:2017-11-10 23:02:30
【问题描述】:

我正在使用 Codeigniter,现在重写可以正常使用域名访问,这是默认的 Codeigniter htaccess:

RewriteRule ^(.*)$ index.php?/$1 [L]

但我想让它也能够使用 IP 地址访问,并且我将我的网站托管在与 cPanel 的共享主机中,因此 IP 地址将是这样的:http://11.11.11.11/~username。但是当我使用 IP 访问时它不起作用,我尝试添加一个 RewriteBase 以及类似的东西:

RewriteRule ^(.*)$ ~username/index.php?/$1 [L]

RewriteRule ^~username/(.*)$ index.php?/$1 [L]

但它们都不起作用。有人请帮忙吗?谢谢。

【问题讨论】:

  • 你使用的 RewriteBase 是什么?
  • @antirealm 我尝试添加 RewriteBase /~username/ 但仍然无法正常工作。
  • 这里有一个解决方案stackoverflow.com/questions/13352995/…
  • @MehmetSoylu 不,我的网站在根文件夹中,我只是想让它同时使用域和 IP 访问。

标签: php apache .htaccess codeigniter mod-rewrite


【解决方案1】:

平,

很遗憾,您在共享主机上时不能使用 IP 作为主机。为多个网站共享托管共享单个 IP。

您需要专用主机或 VPS 来满足您的目的。

【讨论】:

    【解决方案2】:

    好的,我刚刚找到了解决方案,我应该检查主机,以便仅 RewriteBase 可以正常工作:

    RewriteCond %{HTTP_HOST} ^www\.domain\.com [NC]
    RewriteRule ^(.*)$ index.php?/$1 [L]
    
    RewriteBase /~username/
    RewriteCond %{HTTP_HOST} ^11\.11\.11\.11 [NC]
    RewriteRule ^(.*)$ index.php?/$1 [L]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-12
      • 1970-01-01
      • 2012-04-03
      相关资源
      最近更新 更多