首頁  >  文章  >  後端開發  >  thinkphp中的一個奇葩現象

thinkphp中的一個奇葩現象

WBOY
WBOY原創
2016-08-20 09:04:021216瀏覽

今天在用tp做專案的時候遇到了一個奇葩現象,在模板中引入css檔案的時候居然提示木塊不存在 「無法載入模組」。

具體程式碼如下:

<code class="HTML">    <link href="__STATIC__/css/bootstrap.min.css" rel="stylesheet" />
    <link id="bootstrap-rtl-link" href="" rel="stylesheet" />
    <link href="__STATIC__/css/font-awesome.min.css" rel="stylesheet" />

    <link href="__STATIC__/css/tree/treedefault.css" rel="stylesheet" />
    <link href="__STATIC__/css/tree/treetable.css" rel="stylesheet" /></code>

奇怪的地方來了:
上圖:thinkphp中的一個奇葩現象

錯誤原因:
thinkphp中的一個奇葩現象

但是css檔案是存在的:
thinkphp中的一個奇葩現象

對於__STATIC__的路徑:
thinkphp中的一個奇葩現象

就是不懂為什麼上面的幾個都能引入成功, 唯獨這2個就是引入不了了? (○´・д・)ノ

加多一個runtime裡面的程式碼 在runtime裡面根本沒有這兩段程式碼
thinkphp中的一個奇葩現象

@yangxiangming,直接輸出它的路徑是這樣的

thinkphp中的一個奇葩現象

終結此貼,原因已找到。是 不知道為什麼 那兩個css檔突然不見了。我重新拉一次就,現在好了。是我粗心沒發現這個問題(可是我截圖是有2個文件的呀 /(ㄒoㄒ)/~~) 到底什麼時候刪掉的? 上個最後效果圖吧 謝謝sf的這麼多大神們

thinkphp中的一個奇葩現象

回覆內容:

今天在用tp做專案的時候遇到了一個奇葩現象,在模板中引入css檔案的時候居然提示木塊不存在 「無法載入模組」。

具體程式碼如下:

<code class="HTML">    <link href="__STATIC__/css/bootstrap.min.css" rel="stylesheet" />
    <link id="bootstrap-rtl-link" href="" rel="stylesheet" />
    <link href="__STATIC__/css/font-awesome.min.css" rel="stylesheet" />

    <link href="__STATIC__/css/tree/treedefault.css" rel="stylesheet" />
    <link href="__STATIC__/css/tree/treetable.css" rel="stylesheet" /></code>

奇怪的地方來了:
上圖:thinkphp中的一個奇葩現象

錯誤原因:
thinkphp中的一個奇葩現象

但是css檔案是存在的:
thinkphp中的一個奇葩現象

對於__STATIC__的路徑:
thinkphp中的一個奇葩現象

就是不懂為什麼上面的幾個都能引入成功, 唯獨這2個就是引入不了了? (○´・д・)ノ

加多一個runtime裡面的程式碼 在runtime裡面根本沒有這兩段程式碼
thinkphp中的一個奇葩現象

@yangxiangming,直接輸出它的路徑是這樣的

thinkphp中的一個奇葩現象

終結此貼,原因已找到。是 不知道為什麼 那兩個css檔突然不見了。我重新拉一次就,現在好了。是我粗心沒發現這個問題(可是我截圖是有2個文件的呀 /(ㄒoㄒ)/~~) 到底什麼時候刪掉的? 上個最後效果圖吧 謝謝sf的這麼多大神們

thinkphp中的一個奇葩現象

謝謝邀請。我看了你的code還真沒看出來哪裡有錯啊!你輸出調試看看呢

<code>//直接输出看看。看看是什么地址,然后直接通过浏览加载看看能访问吧
__STATIC__/css/tree/treedefault.css
__STATIC__/css/tree/treetable.css</code>

你看runtime裡面產生的檔案, 看看那部分的程式碼.

你的這兩個CSS請求,被當成訪問Static模組中的css控制器中的tree方法了.
如果用的是apache伺服器, 要在.htaccess中判斷文件是否存在, 再轉發給index.php吧

因為你的檔案路徑寫錯了,請求報了404,而你的nginx裡預設是把所有請求轉送到index.php中了。

就會出現不存在的連結被php接管,tp會依照請求的路徑查詢對應的控制器,而控制器也不存在。

這不是tp的問題。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn