.htaccess重写多个目录

时间:2013-04-14 04:04:23

标签: .htaccess

是否可以通过检查多个目录而不仅仅是一个目录来使用htaccess进行重写?

这是我正在寻找的一个例子:

我有2个文件 site.com/profile.php?username1 site.com/project.php?projectname1

我想把它变成人只需输入的东西:

site.com/NAME - > “NAME”可以是他们选择的任何名称,无论是username1还是projectname1,都无关紧要。

现在我遇到的问题是htaccess搜索个人资料和项目以匹配用户输入的名称并将用户重定向到正确的文件?

澄清....如果该人在site.com/username1上输入,它会自动知道转到PROFILE.php吗?username1?

如果此人在site.com/projectname1上输入,它会自动知道转到PROJECT.php吗?projectname1?

1 个答案:

答案 0 :(得分:0)

你不能使用htaccess来做这件事,因为mod_rewrite对 NAME 成为个人资料或项目的过程一无所知,只有两个php脚本知道这个。你最好做的是在router.php甚至index.php之类的内容中编写一些路由代码,然后通过它来路由所有内容:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)$ /router.phpname=$1 [L]

然后在router.php脚本中,查看$_GET['name']是个人资料或项目,然后根据需要将其路由到profile.phpproject.php