【问题标题】:Default URL directory默认 URL 目录
【发布时间】:2019-08-03 02:10:56
【问题描述】:

我正在处理一个 codeigniter 项目,现在我已将其上传到实时服务器。我的问题是,如果我只访问网址,我什么也得不到。我需要访问 url,然后添加我的项目所在的文件夹。

示例myurl.com/index

我希望它自动在 url 中加载该索引文件夹,当有些人只是在 myurl.com 中键入时

我的 .htaccess 文件夹如下所示

RewriteEngine On
RewriteBase /index
RewriteCond $1 !^(index\.php|assets|images|js|css|uploads|favicon.png)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]

这也是在 apache 服务器上。

//////////////UPDATE 由于移动到 apache 服务器,无法在没有 .extension 的情况下显示图像,没有 localhost wamp 也可以。

所以我允许上传图片,唯一允许的图片是 .png 、 .jpeg 和 ,.jpg 文件类型。

在控制器中,我使用时间函数$image = time(); 来随机化文件名。它将文件引用上传到数据库并将文件保存到资产中的文件夹中,如下所示,

文件路径

src="http://mywebsite.com/index/assets/images/posts/12345678" 

我也用它在网站上显示图像。

在我的本地主机上这很好用。

在我的 apache 实时服务器上,这不起作用,直到我在文件名后面放了一个 .png 或 .jpg 。我去了其他网站,发现他们没有这个,所以我知道它要么是我的 htaccess 要么是服务器。

【问题讨论】:

  • 您是否在config.php 文件中设置了$config['base_url'] = https://yourdomain.com
  • 是的,我将其设置为 $config['base_url'] = 'http://'。 $_SERVER['HTTP_HOST'] .'/index/'; index 是项目文件夹的名称。
  • 这不是很推荐,因为您无法控制 HTTP_HOST 元素输出的内容。尝试 FQDN。另外,请注意您的.htaccess 已经重写为/index,因此通过将您的基本URL 也指向index,您可能会双重执行。可以肯定的是,您希望拥有的 URL 是 example.com/index/controller/method,对吗?
  • 是的,我期望的 url 是 example.com/index/controller 我不需要调用的方法,因为我的控制器具有 index() 函数,因此它会自动调用它。我尝试只使用基本 url 并没有改变任何东西。

标签: php apache codeigniter .htaccess


【解决方案1】:
Options +MultiViews # add this line to show images without extension.
RewriteEngine On
RewriteBase /index
RewriteRule ^/?$ /index [L,R=301] #add this line.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]

我们匹配一个空的请求 URI 并重定向到 /index

【讨论】:

  • 这似乎是正确的,因为当我输入网址时,我看到它会自动调用文件夹,但现在的问题是我收到此错误“重定向您太​​多次”。我厌倦了清除 cookie/缓存仍然是同样的事情。
  • @PHPNoob 与您拥有的以下重写规则相关。你能解释一下重写条件下的$1吗?
  • 我也搞定了,非常感谢。真的很快,因为你知道这个 htaccess 文件的东西。我正在使用 apache 服务器,并且在我的本地 wamp 服务器上,图像在没有文件扩展名的情况下在网站上加载良好,自从我实时上传到 apache 后,我无法在没有扩展名的情况下使图像工作。我可以在 htaccess 中添加什么来解决这个问题。
  • @PHPNoob 您可以编辑您的帖子并添加图像输入和输出示例吗?然后我会更新我的答案。
  • 非常感谢您抽出宝贵时间。我想我真的需要学习如何更好地使用 htaccess。谢谢,你纠正了我的问题。欣赏它。
猜你喜欢
  • 1970-01-01
  • 2016-11-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-11
  • 2010-09-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多