通过php自定义目录

时间:2017-05-28 09:27:26

标签: php routing

嘿,我想知道人们如何制作动态的网站,因为他们可以在网站中使用像/ user / kappa这样的网址而不需要文件中的实际文件夹。

我不太确定他们是怎么做的,但我一直在寻找一段时间而找不到一个例子所以我想我可能会问这里!

https://domain.tld/user/kappa

就像/ user / kappa说的那样,但不会在物理上制作文件夹 有没有办法用PHP做到这一点?

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

要实现此目的,您可以使用mod_rewrite

您可以在.htaccess文件中添加几行来进行设置。它正在做的是使用一组变量获取PHP文件,并根据您设置的规则重写URI。例如,您可能有一个index.php文件,该文件使用不同的变量处理所有内容。即:

example.com/index.php?page=news&id=34

您可以使用mod重写将其更改为

example.com/news/title.html

作为示例,这是CMS Joomla用于其URL的一些代码。我还发现这个页面有一些基本的例子。 http://www.the-art-of-web.com/system/rewrite/1/

RewriteEngine On
RewriteRule .* index.php [F]
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
#
# If the requested path and file is not /index.php and the request
# has not already been internally rewritten to the index.php script
RewriteCond %{REQUEST_URI} !^/index\.php
# and the requested path and file doesn't directly match a physical file
RewriteCond %{REQUEST_FILENAME} !-f
# and the requested path and file doesn't directly match a physical folder
RewriteCond %{REQUEST_FILENAME} !-d
# internally rewrite the request to the index.php script
RewriteRule .* index.php [L]