![](/img/trans.png)
[英]Ubuntu - How direct example.com/opencart/index.php to http://example.com/ and www.example.com?
[英]Why www.example.com/index.php/my/path/here is processed by index.php?
我只是很好奇,如何調用apache的功能來指導這樣的請求
www.example.com/index.php/my/path/here
到文件index.php? 在第一時刻,您可能會認為,如果此請求導致404錯誤頁面將是正確的,因為站點根目錄中沒有名為index.php的文件夾 。
順便說一句,有沒有可能關閉這個Apache功能(如果它是一個功能),這樣的請求真的最終得到404?
這不是URL重寫功能。 或者至少它並不需要的人。 請參閱AcceptPathInfo指令 :
此指令控制是否接受或拒絕包含跟隨實際文件名(或現有目錄中不存在的文件)的尾隨路徑名信息的請求。 尾隨路徑名信息可供
PATH_INFO
環境變量中的腳本使用。例如,假設位置/ test /指向僅包含單個文件
here.html
。 然后請求/test/here.html/more
和/test/nothere.html/more
都收集/more
作為PATH_INFO
。
它最初是一個CGI環境變量 。
PATH_INFO
客戶端給出的額外路徑信息。 換句話說,可以通過虛擬路徑名訪問腳本,然后在此路徑末尾添加額外信息。 額外信息以
PATH_INFO
形式發送。 如果服務器在傳遞給CGI腳本之前來自URL,則應該對此信息進行解碼。
請參閱此鏈接以獲取解釋。
這是一種將信息傳遞給(在本例中) index.php
腳本而不使用查詢字符串的方法,一些搜索引擎會忽略該字符串,因此文章的名稱為“搜索引擎友好URL”。
我可以推薦文章中討論的第三種方法,因為它避免了奇怪的URLS,中間有index.php
。
在那里你可以有一個像index.php這樣的文件從服務器檢查PATH_INFO並處理整個內容樹。 雖然我無法將其關閉,但您可以讓index.php檢查非空的$ _SERVER ['PATH_INFO']並通過header()函數響應404代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.