doufu5521 2017-12-25 00:49
浏览 209
已采纳

codeigniter中资产的404 / net :: ERR_ABORTED错误

I'm working through my first Codeigniter webpage, and I've run into a few peculiarities. The first is that I haven't needed to use base_url or site_url in front of my URLs to get them to work, at least not originally. I set up the main page, and simply did

<link href="assets/css/bootstrap.min.css" rel="stylesheet" />

and this seemed to automatically add the domain name in front of it. I'm not sure how it worked, but it works for all the URLs like it. When I look at the inspect window, it shows like this. I don't know if this is relevant, but I wanted to make note of it.

The issue was on my second page. I added a new controller named Admin, and set it to bring up a different page. I set up the URLs in the same way I did before, but when I loaded it, the CSS and Javascript didn't load. In case it matters, I tried loading it by doing Domainname.com/Admin. The html loads correctly, but when I looked at the console, it gave me a net::ERR_ABORTED and 404 errors for my images and files. I've double checked all of them, and they are all in the correct spot. I found this page: 404 page not found error in Codeigniter and tried using the solution there in my .htaccess file. It not only didn't work, but now the original page that was working correctly refuses to load up any of the asset files. I tried removing the new line of code, but it still will not work correctly, even though everything is the exact same way it was before.

Here is my .htaccess folder:

RewriteEngine On
RewriteBase /eventCentral/

RewriteCond %(REQUEST_FILENAME) !-f
RewriteCond %(REQUEST_FILENAME) !-d

#RewriteCond $1 !^(index\.php|assets)

RewriteRule ^ index.php [QSA,L]

I tried removing the commented piece of code completely, but it still didn't fix it.

My file structure is also correct, and can be seen here.

As I said, I'm still very new to code igniter, so if answers can be broken down Barney style, I'd appreciate it. I've also tried looking through a number of stack overflow questions that seemed relevant, and I still haven't found a solution that works.

  • 写回答

1条回答 默认 最新

  • dqsh30374 2017-12-25 00:55
    关注

    You don't have to use the URL helper's functions, but unless you prefix your URLs with a forward slash, the BROWSER decides that your asset is actually prefixed with the URI segments from the current page. That's because the browser sees the URL as a relative URL. In order to overcome that, either use the forward slash, or a base tag: https://www.w3schools.com/tags/tag_base.asp

    Example of base tag:

    <base href="https://example.com/">
    

    In my own applications, I just make my URLs absolute with the forward slash prefix. In your case that would look like this:

    <link href="/assets/css/bootstrap.min.css" rel="stylesheet" />
    

    EDIT ----

    I just noticed that your htaccess has 2 lines, and I'd like you to convert the parens to curly braces, so:

    RewriteCond %(REQUEST_FILENAME) !-f
    

    Should be:

    RewriteCond %{REQUEST_FILENAME} !-f
    

    Just for kicks, try to change this:

    RewriteRule ^ index.php [QSA,L]
    

    To this:

    RewriteRule .* index.php/$0 [PT,L]
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 (标签-STM32|关键词-智能小车)
  • ¥20 关于#stm32#的问题,请各位专家解答!
  • ¥15 (标签-python)
  • ¥15 第一个已完成,求第二个做法
  • ¥20 搭建awx,试了很多版本都有错
  • ¥15 java corba的客户端该如何指定使用本地某个固定IP去连接服务端?
  • ¥15 activiti工作流问题,求解答
  • ¥15 有人写过RPA后台管理系统么?
  • ¥15 Bioage计算生物学年龄
  • ¥20 如何将FPGA Alveo U50恢复原来出厂设置哇?