[英]Apache htaccess Rewrite for File and Folder That Share the Same Name
我有以下API端點:
/api/project
/api/project/start
/api/project/end
這些端點受以下文件結構的支持:
/api/project.php
/api/project/start.php
/api/project/end.php
我目前正在使用.htaccess
使.php
擴展名對於API用戶而言是可選的。
我注意到,如果我打不帶.php
擴展名的/api/project
,則會轉到Apache上的project
文件夾,而不是project.php
文件。
無論如何,在.htaccess
文件中還是通過其他方法來解決這個問題?
我當前的.htaccess
重寫規則
Options -Multiviews
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ http://%1/$1
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php [NC,L]
通過將DirectorySlash Off
添加到我的.htaccess
文件中,我能夠解決此問題。
如果存在具有該名稱的目錄,Apache會在URL的末尾自動添加一個斜杠。
更新.htaccess
文件並重新啟動服務器后,您需要清除瀏覽器緩存(因為如果以前的請求被自動重定向,大多數瀏覽器都會在請求的末尾添加斜杠)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.