簡體   English   中英

Apache / PHP混淆了目錄名和腳本文件名?

[英]Apache/PHP confuses dir name and script filename?

http://192.168.1.116/wordpress/wp-content/themes/bktf/frameworks/back-end/theme-options/options/fields/font/field_font.js.php?ver=1358535557為什么為什么這樣的URL是http://192.168.1.116/wordpress/wp-content/themes/bktf/frameworks/back-end/theme-options/options/fields/font/field_font.js.php?ver=1358535557

...結束提供/wordpress/wp-content/themes/bktf/frameworks/back-end/theme-options.php/options/fields/font/field_font.js.php (這也是$ _SERVER的內容['PHP_SELF'])。

...在同一個back-end父目錄中同時具有目錄名theme-options和文件名theme-options.php情況下?

另外, $_SERVER['SCRIPT_NAME']/wordpress/wp-content/themes/bktf/frameworks/back-end/theme-options.php

為什么Apache或PHP模塊僅由於存在與目錄相同的腳本,而在目錄名末尾自動添加.php ???

注意:我使用的是Apache和PHP的默認配置,用於Ubuntu 12LTS服務器,通過taskel安裝,然后使用https://launchpad.net/~ondrej/+archive/php5 PPA升級到PHP 5.4,並帶有所有配置文件與默認值/示例基本相同-這是一台基本的LAMP服務器,旨在出於開發目的在VM中運行。

PHP_SELF是指服務器上正在運行的文件,而不是當前的URL。 閱讀PHP $ _SERVER手冊以獲取更多信息: http : //php.net/manual/zh/reserved.variables.server.php

請嘗試$_SERVER['REQUEST_URI'] 這將在最后提供查詢字符串。

PHP_SELF =當前執行腳本的文件名,相對於文檔根目錄。 SCRIPT_NAME =當前腳本的路徑。

好的,我的問題有點令人困惑,因此我可以理解為什么每個人回答的問題都不同於我提出的問題。

無論如何,在我的情況下發生的是沒有theme-options目錄 (將其重命名並忘記了),Apache將諸如/[...]/theme-options/[...]類的請求/[...]/theme-options/[...] /[...]/theme-options.php/[...]因為有一個theme-options.php 腳本

我仍然不知道為什么具有所有默認配置的Ubuntu LAMP安裝程序會發生這種奇怪的路徑變化,但是我解決了我的緊迫問題。

由於啟用了MultiViews選項,Apache將請求轉換為具有擴展名的特定文件: http : //httpd.apache.org/docs/2.2/mod/mod_negotiation.html#multiviews

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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