每次用户在我的网站上注册时,我希望他们拥有自己的子目录及其注册的“用户名”。每个用户子目录都将具有相同的“index.php”文件,该文件将执行某些操作。
例如:“/users/username1/”和“/users/username2/”
如果有人想要访问子目录,他们只需转到:
“www.example.com/users/username1/”或“www.example.com/users/username2/”
简单而混乱的解决方案是简单地为每个用户创建一个子目录,并在每个目录中放置相同的“index.php”文件。但对我来说,这只会占用我的服务器空间并使我的目录变大。
我想知道这一切是否可以使用 .htaccess 来完成?我可以创建一个“index.php”和一个“.htaccess”文件并将它们都放在我的“/users/”目录中吗?我必须放在 .htaccess 文件中的实际代码是什么?
如果您有更好的方法,请告诉我。我使用 Apache 和 PHP 作为我的工作环境。
谢谢
好吧,例如,您可以使用一个 htaccess 来完成这一切,如下所示:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
</IfModule>
它能做什么:
- 打开重写引擎
- 检查请求的文件是否存在
- 检查请求的目录是否存在
- 如果不是,它将请求重定向到您的主index.php
基本上,这意味着如果您输入诸如 yourdomain.com/users/ivan/ 之类的网址,您的请求将被重定向到:
index.php?url=/users/ivan
然后你在index.php中使用$_GET['url']并将其分成几部分。
那只是一个example,还有其他 mod_rewrite 方法可以做到这一点。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)