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]
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!