Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 类似Facebook的子文件夹:如何创建?_Php_Subdirectory - Fatal编程技术网

Php 类似Facebook的子文件夹:如何创建?

Php 类似Facebook的子文件夹:如何创建?,php,subdirectory,Php,Subdirectory,我正在尝试创建一个类似facebook的页面。我的问题是:我希望页面上的URL不是www.sitename.com/profile.php?username=username,而是www.sitename.com/username 我知道要显示像后一个URL一样的URL,在名为Username的文件夹中会有一个索引页,但我不知道如何动态地这样做,以及如何将其显示为子文件夹 我使用php作为我的主要语言。您可以使用Apache的。只需在Apache配置中启用它,并将以下内容放入应用程序根目录中的.

我正在尝试创建一个类似facebook的页面。我的问题是:我希望页面上的URL不是www.sitename.com/profile.php?username=username,而是www.sitename.com/username

我知道要显示像后一个URL一样的URL,在名为Username的文件夹中会有一个索引页,但我不知道如何动态地这样做,以及如何将其显示为子文件夹


我使用php作为我的主要语言。

您可以使用Apache的。只需在Apache配置中启用它,并将以下内容放入应用程序根目录中的
.htaccess

RewriteEngine On
RewriteRule /(.*)$ /profile.php?username=$1 
另外,还有一个关于友好URL的漂亮教程。

for Apache具有实现您所需的功能。我相信其他主流web服务器也有类似的功能。

您可以使用,或者(如果您使用IIS)

我使用htaccess。以下是我如何允许动态配置文件的示例:

RewriteEngine On 
RewriteBase /
RewriteRule ^profile\/(.*)$ ./profile.php?profileId=$1 [L,NC,QSA]
RewriteBase/
表示
/profile.php?profileId=$1
路径来自根目录。RegExp
^profile\/(.*)$
将匹配类似于
profile/1234
的内容,从而显示
/profile.php?profileId=1234


希望有帮助。

您需要使用
/
而不是
/
,否则Apache将尝试加载
profile/profile.php?..
作为文件,因为“profile”当前用作目录。RewriteBase会处理这个问题。由于htaccess位于
/
中,因此
/
如果来自
/
而不是
/profile/
,根据文档,RewriteBase仅适用于相对路径(它们前面没有
/
/
/
)。
/
特别询问它应该使用当前目录来查找文件,它是相对的。我一直都在使用它。我一直认为它是绝对的,因为有人告诉我,
/
基本上被替换为当前目录的完整路径,即
/
=>
/path/to/directory/
。谢谢!这正是我要找的!