簡體   English   中英

共享相同名稱的文件和文件夾的Apache htaccess重寫

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM