如何在php中使用不同的url结构?

如何在php中使用不同的url结构?,php,Php,如何在php中使用不同的url结构? 我想知道如何像这样处理url www.example.com/10/2011 而不是 www.example.com/?m=10&y=2011您应该在Apache或nginx中使用重写(google it)引擎。 类似的东西也存在于ISS中。您应该在Apache或nginx中使用重写(google it)引擎。 类似的东西也存在于ISS中。这不是由PHP实现的,而是由其他一些“组件”实现的。例如,Apache web服务器有一个模块(重写引擎),可以重写UR

如何在php中使用不同的url结构?
我想知道如何像这样处理url
www.example.com/10/2011
而不是
www.example.com/?m=10&y=2011

您应该在Apache或nginx中使用重写(google it)引擎。 类似的东西也存在于ISS中。

您应该在Apache或nginx中使用重写(google it)引擎。
类似的东西也存在于ISS中。

这不是由PHP实现的,而是由其他一些“组件”实现的。例如,Apache web服务器有一个模块(重写引擎),可以重写URL,这样您就可以使用类似
www.example.com/10/2011
的URL,并将其转换为
www.example.com/?m=10&y=2011
,这样您就可以在PHP代码中使用$\u GET['m']并获得月份。对于Apache(对于其他Web服务器,可能存在类似的情况)

这不是由PHP实现的,而是由其他一些“组件”实现的。例如,Apache web服务器有一个模块(重写引擎),可以重写URL,这样您就可以使用类似
www.example.com/10/2011
的URL,并将其转换为
www.example.com/?m=10&y=2011
,这样您就可以在PHP代码中使用$\u GET['m']并获得月份。对于Apache(对于其他Web服务器,可能存在类似的情况)

这可以通过机制实现。在webroot中创建一个包含以下内容的
.htaccess
文件:

RewriteEngine on

RewriteRule ^([0-9]+)/([0-9]+) ?m=$1&y=$2 [NC]

其他web服务器也有类似的机制。

这可以通过机制实现。在webroot中创建一个包含以下内容的
.htaccess
文件:

RewriteEngine on

RewriteRule ^([0-9]+)/([0-9]+) ?m=$1&y=$2 [NC]

其他web服务器也有类似的机制。

也许最好使用服务器配置-.htaccess(在Apache中)或web.config(在IIS中)。从^(\d+/(\d+)$到/?m=$1和y=$2创建重写规则。例如,在Apache中,它看起来像:

RewriteEngine On
RewriteBase /
RewriteRule ^(\d+)/(\d+)$ /?m=$1&y=$2

也许最好使用服务器配置--.htaccess(在Apache中)或web.config(在IIS中)。从^(\d+/(\d+)$到/?m=$1和y=$2创建重写规则。例如,在Apache中,它看起来像:

RewriteEngine On
RewriteBase /
RewriteRule ^(\d+)/(\d+)$ /?m=$1&y=$2

一种简单的方法如下:

在.htaccess文件中

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php?$1 [L,QSA]
如果不是物理文件或目录,它会将everyhting重定向到index.php

然后配置index.php以处理此请求

范例

www.example.com/10/2011

将成为
$\u GET['10/2011']

因此,您可以在脚本中使用数据。

一种简单的方法如下:

在.htaccess文件中

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php?$1 [L,QSA]
如果不是物理文件或目录,它会将everyhting重定向到index.php

然后配置index.php以处理此请求

范例

www.example.com/10/2011

将成为
$\u GET['10/2011']

因此,您可以在脚本中使用数据。

显然,这是针对apache的。其他web服务器可能有不同的方法,显然这是针对apache的。其他web服务器可能有不同的方法