鍍金池/ 問答/PHP/ 域名怎么寫才能訪問api接口

域名怎么寫才能訪問api接口

我的項目名稱是admin-api,我的域名沒有指向public文件夾,指向的是項目文件夾的上級文件夾,我訪問

http://pachong.test/admin-api/public

這個域名可以訪問到laravel的默認(rèn)首頁。

我添加了一個product-temp的api接口,我訪問這個域名:

http://pachong.test/admin-api/public/api/product-temp

提示我:
No input file specified.

我的地址寫錯了么?怎么訪問我的接口?

我拿get路由試還是不行:

Route::get('/hello', function (){
    return response()->json(['hello'=>'world']);
});

訪問

http://pachong.test/admin-api/public/api/hello

還是沒反應(yīng)

回答
編輯回答
何蘇葉

實際訪問的路由并不一定是你眼睛看到的,就是說你產(chǎn)生了幻覺。。。服務(wù)器都要配置文件,可以通過修改配置文件來控制你時機(jī)訪問的目標(biāo),你可以查查你用的啥服務(wù)器,看看服務(wù)器的配置文件有沒有重寫url

2017年11月30日 20:53
編輯回答
痞性

看你的路由有 api 那么你的 api 這部分錄有應(yīng)該寫在 routes\api.php
你的問題,域名配置問題,以 homestead 配置舉例,

map: boke.app
to: /home/vagrant/Code/lost-blog/public

map:你的域名
to:項目 index.php 位置

你需要修改你的apache 等域名配置哪里。
配置完成,則 http://pachong.test/api/hello.

2017年11月19日 15:01
編輯回答
糖果果

試試 http://pachong.test/admin-api/public/index.php/api/product-temp 可以不,如果可以那就是你的 .htaccess 的重寫規(guī)則有問題了。。。

2017年9月24日 04:33
編輯回答
神曲

首先不理解為什么要這樣,業(yè)務(wù)需求?

正常情況下 nginx vhost 設(shè)置到 pulibc 目錄下通過 http://pachong.test/admin-api/api/hello 可以正常訪問,是因為設(shè)置了 rewrite

location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

但是你現(xiàn)在沒有把目錄設(shè)置到 public 下,所以你通過 http://pachong.test/admin-api/public/api/hello 肯定是訪問不到的,因為 rewrite 沒有生效。

好了,問題原因找到了,解決辦法其實比較清晰了,自己多嘗試下。

2017年7月4日 12:19