今天在寫php遇到問題
加入有一個檔案在
/var/www/number/00/no.php
如果我在php include要把 /var/www/number/00/no.php都載入
但舉凡圖片、ajax在html寫的時候都要在
httpd裡面寫虛擬路徑 Alian /number/ "/var/www/number/"
然後要用虛擬路徑寫
ex
ajax的url:"/number/no.php"才可以載入
但是如果我把虛擬路徑拔掉url:"/var/www/number/00/no.php"就一定報錯
是否只要在html寫的就要虛擬路徑呢?
不然直接寫相對或絕對路徑嗎?
-----補充-----
事前設定
Alian /cityhouse "/var/wwe/cityhouse/00/"
2個檔案
(名字就亂取了)
1./var/www/cityhouse/00/public/aaa.php
2./var/www/cityhouse/00/public/bbb.php
使用技術ajax(資料不重要跳過,只用url)
aaa.php ajax bbb.php
1.可運行的狀態
url:/cityhouse/bbb.php(此時/cityhouse應該 是虛擬路徑)
2.不可運行
url:/var/www/cityhouse/00/bbb.php
url:/www/cityhouse/00/bbb.php
url:/cityhouse/00/bbb.php
url:/00/bbb.php
網址有內容:http://xxx.xxx.x.xxx/cityhouse/bbb.php (無效網址)
其餘皆找不到資料
如圖:
------補充------
下面那個是虛擬路徑
第一個:(只寫ajax的url)
url:"/cityhouse/public/deletexb.php
網頁成功抓到虛擬
第二個
url:"/cityhouse/00/public/deletexb.php"
第三個
url:"/var/www/cityhouse/00/public/deletexb.php"
以上兩個都抓不到
檔案路徑:/var/www/cityhouse/00/public/deletexb.php
如圖
一定要虛擬路徑呀,因為使用者是透過網頁伺服器去抓資料,並不是直接到你的電腦裡面抓
網頁伺服器都會有所謂的根目錄,通常 index.php 之類的首頁都會放在這一層
至於其他資料如 HTML function 等等就會放在此根目錄底下的某處、某資料夾內
也就是網頁伺服器不會認識根目錄以外的檔案、目錄!
因此,使用絕對路徑是行不通的
現在的 PHP 開發來說,index.php 都會導向到 route 去 parse url,再轉向特定頁面
感覺你是 PHP 初學者,滿建議你使用 Laravel 開發的。
順道一提,截圖品質有點差,可以的話之後直接貼上程式碼也行
或是使用 gist 來貼上程式碼
祝你 PHP 之路學習順利