这是一个初学者的问题;我在谷歌上搜索,找不到答案。
我明白,如果我有一个这样的PHP页面的URL:
http://blah.tld/somearea/myfile.php?param1=foo¶m2=bar
接收参数foo和bar的页面是myfile.php
,但如果我有一个这样的URL,哪个页面正在接收参数:
http://blah.tld/somearea/?param1=foo¶m2=bar
是index.php
下的/somearea
吗?
实际调用哪个程序/文件取决于web服务器的配置。例如,在Apache中,有一个配置参数DirectoryIndex
,它指示在没有指定文件的情况下默认调用什么,例如
DirectoryIndex index.php
将确保在上述场景中调用index.php
。此外,可以为每个目录设置此配置,以便在不同的目录中调用不同的文件/脚本。如果不知道目标服务器是如何配置的,就不可能回答这个问题。
这是一个服务器设置。例如,在Apache中设置为DirectoryIndex。通常在PHP服务器上,默认值是index.php。
如果没有安装PHP,默认为index.html或index.htm。在ASP服务器上,默认值是default.aspx.
在这种情况下index.php将接收参数
与请求http://blah.tld/somearea/
时使用的文件相同。
可以是index.php
或任何其他文件。如果使用了框架,它本身可能不是一个文件,而是一个单独文件中的函数。
这只是一个使用.htaccess
重写的URL,所以是的,你可以,你必须以同样的方式获取GET参数,所以在index.php
它将是
echo $_GET['param1'].' '.$_GET['param2']; //Will output foo bar