[英]Apache vHost and API “pretty url” getting 404
我有一個REST API,以前在我的localhost上有url,看起來像:
本地主機/ API / V1 /收集/資源
當我在本地處理API和Web應用程序時,我實現了apache虛擬主機以獲取以下API:
api.mydomain.com/v1/collection/resource
我有一個前置控制器,我正在路由呼叫。 api.mydomain.com成功點擊前端控制器。 api.mydomain.com/v1列出了目錄(所有的php文件),這是一個問題,而api.mydomain.com/collection/resource會產生404。
我的目錄結構是:
/api
/v1
php files
.htaccess
Router.php
index.php
.htaccess包含:
RewriteEngine On
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
我不太清楚問題出在哪里。 api.mydomain.com以外的任何東西似乎都繞過了命中index.php。 我不太熟悉這些重寫,所以任何見解都值得贊賞。
嘗試這個
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^api.mydomain.com$ [NC]
RewriteRule ^(.*)$ index.php [R=301,NC,L]
發現了這個問題。 當我創建vHosts時,我復制了一個不正確的AllowOverride None設置,這使得我的htaccess文件無效。 在關聯的vHost目錄下更改為AllowOverride All可解決此問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.