我想知道如何使用这种"文件浏览"。现在,我所有的小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:)