Apache-2.2

htaccess - 將 php 腳本名稱插入所有 URL

  • April 4, 2018

我有一個應用程序,它需要目錄/tileserver/中包含以下內容的 htaccess 文件:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(tileserver\.php)
RewriteRule ^(.*)$ tileserver.php?/$1 [L,QSA]

我需要的是對 tileserver/ 的任何 URL 請求

改為

tileserver/tileserver.php/

但是如果我添加類似的東西:

RewriteRule ^tileserver/(.*)$ tileserver/tileserver.php/$1

它沒有效果。我該如何寫這個規則?

這裡的更新是錯誤日誌中的一行:

[Thu Dec 17 13:17:48.858560 2015] [negotiation:error] [pid 23573] [client 108.44.58.67:64411] AH00687: Negotiation: discovered file(s) matching request: /var/www/html/tileserver/extra5 (None could be negotiated)., referer: http://107.170.120.88/tileserver/

該請求將開始,/因此您需要將其更改為

RewriteEngine On
RewriteRule ^/tileserver/(.*)$ /tileserver/tileserver.php/$1 [L]

引用自:https://serverfault.com/questions/743473