【问题标题】:codeigniter .htaccess code not loading css, imagescodeigniter .htaccess 代码未加载 css、图像
【发布时间】:2013-02-13 02:58:18
【问题描述】:

我在他们的网站上使用 codeigniter 提供的 htaccess。 一切正常文件,但是当我在 url 后使用 / 时,一切都搞砸了。 假设我的域名是www.example.com/mycontroller,这可以正常工作,但www.example.com/mycontroller/ 会让一切都变得一团糟,没有风格没有图像等等。

我通过在样式表和图像等的链接前面使用base_url() 解决了这个问题。但是没有其他方法可以让我不必遍历每个图像和链接来添加base_url()

.htaccess 文件包含

RewriteEngine on
RewriteCond $1 !^(index\.php|css|images|robots\.txt)
RewriteRule ^(.*)$ ./index.php/$1 [L]

【问题讨论】:

  • base_url 听起来是最好的方法。它是可修改和可扩展的。

标签: php codeigniter


【解决方案1】:

你应该允许文件和文件夹通过

RewriteEngine on
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond $1 !^(index\.php|css|images|robots\.txt)
RewriteRule ^(.*)$ ./index.php/$1 [L]

是的,您应该添加base_url,否则您的应用程序的可移植性较差,维护将成为一场噩梦

【讨论】:

    【解决方案2】:

    尝试检查请求是指向文件还是目录:

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond $1 !^(index\.php|css|images|robots\.txt)
    RewriteRule ^(.*)$ ./index.php/$1 [L]
    

    如果您没有一些非常好的理由,您可以相对于图像或 css 文件的基本目录进行链接。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-11-19
      • 2017-10-23
      • 1970-01-01
      • 2011-10-09
      • 2018-12-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多