如何使用page.com/browse/而不是page.com/browser.php


How can I use page.com/browse/ instead of page.com/browse.php

我想知道如何使用这种"文件浏览"。现在,我所有的小PHP Web项目都是通过直接访问PHP文件来工作的:

我的程序:http://website.de/profil.php或http://website.de/news.php

但我注意到Wordpress和其他网站只有文件夹(没有索引文件)。例如:

https://wordpress.org/themes/<-工作

https://wordpress.org/themes/index.php<-搜索"index.php"或http://localhost/wordpress/2016/05/11/hello-world/打开一个事件,没有"2016"文件夹

但另一方面:

https://wordpress.org/support/index.php=https://wordpress.org/support/

这背后的技术是什么?PHP?我如何在我的网站上使用它;这对我来说是件大事。

我确信有一个很好的指南,但我甚至不知道该在谷歌上搜索什么。

尽管你可以通过在文件夹中放一个e.index.php来小规模地模仿"漂亮"的URL,但当你利用web服务器重写来有效地将一个漂亮的URL"翻译"成服务器可以读取的东西时,真正的宝石就来了。

在Apache服务器上,mod_rewrite是其背后的模块。mod_rewrite规则位于.htaccess文件中,允许您创建非常强大的自定义URL结构。

如果你在Wordpress测试安装中查看.htaccess文件,你会看到重写规则,将网站上的每个请求指向index.php。

在内部,Apache会将一个看起来像是在几个文件夹中的postURL转换为类似的内容http://localhost/wordpress/index.php?year=2016&月份=05&日期=11&post_name=你好世界。访问者只会看到"漂亮"的URL:http://localhost/wordpress/2016/05/11/hello-world/

从这里开始,Wordpress内部处理URL,以显示正确的帖子、日期档案、类别档案等。这是基于它可以在这些查询字符串变量中访问的内容(在PHP中,这些都可以在$_GET超级全局中获得,例如$_GET["year"].

同样值得注意的是,Wordpress并没有将其所有重写逻辑直接放入.htaccess中,为了简单起见,它在内部管理大部分重写逻辑,这就是为什么它将.htacccess配置为"发送所有内容"。

要阅读的更多主题包括mod_rewrite和.htaccess:)