我在正確的.htaccess問題上停留在我寧靜的webapp中。我的REST api代碼應該可以通過URL模式*/api/**訪問,它應該被重定向到index.php在api文件夾中。Apache mod_rewrite Restful api
所有其他URL(靜態文件除外)應重定向到根文件夾中的index.html。
我有以下文件夾結構:
- api -- application/... -- vendor/... -- index.php - public -- css/... -- js/... - index.html - .htaccess
,這是我的.htaccess內容:
Options +FollowSymLinks
RewriteEngine on
# redirect all api calls to /api/index.php
RewriteCond "%{REQUEST_URI}" "^/api"
RewriteRule "^/api/(.+)$" "/api/index.php$" [QSA,L]
# If the request is a file, folder or symlink that exists, serve it up
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+)$ - [S=1]
# otherwise, serve your index.html app
RewriteRule ^(.+)$ /index.html [L]
我嘗試另一個的.htaccess添加到API文件夾重定向與網址/ api/*但沒有任何成功。所以我試圖用上面的.htaccess中的規則重定向它。
我認爲規則可能是正確的。因爲重定向工作正常。但是/ api /規則不起作用。看來這些請求也被重定向到index.html
我錯過了什麼?
刪除'$'從得到的路徑 – Deadooshka