2011-06-07 96 views
0

好吧,我的htaccess文件首先重写任何网址以包含完整的地址。我需要这个,因为脸书对挑选应用程序ID的网址很挑剔。htaccess重定向问题

现在,我建立的这个网站是用PHP和MYSQL构建的各种商业资料网站。个人资料页面可以根据ID号码或唯一的slu id ID进行查询,该ID用作企业希望人们链接到其个人资料时使用的易于阅读的URL。所以我有重写引擎将字符串放入URL中的变量中,以便配置文件页面可以获取字符串并使用它进行查询。截至目前,它将重写任何不存在的URL或文件并将其发送到配置文件页面。这似乎有点草率,因为我不希望一个用户为联系页面输入不正确的URL,而是将其发送到无效的配置文件页面。这里的规则:

RewriteCond %{REQUEST_FILENAME} !-f 

RewriteCond %{REQUEST_FILENAME} !-d 

RewriteRule .* profile.php?uniqueID=$0 [L] 

现在,我想的唯一途径,我能做到这一点的却是使网址更加独特,所以不是www.bizprofiles.com/uniqueprofilename为基本结构,我做www.bizprofiles.com/profils/uniqueprofilename,而是写条件来完全匹配的网址直到唯一的名称。

我想知道如果有人有什么更好的想法?

回答

1

.htaccess无法检查您的业务逻辑,例如,如果配置文件存在。你将不得不内profile.php检查,并适当地重定向,如:

header('HTTP/1.0 404 Not Found'); 
header('Location: /your404File.php'); 
exit; 

第二结构www.bizprofiles.com/profils/uniqueprofilename(我觉得有一个拼写错误,应该是profilesprofile)将在我看来更具可读性,让您的有机会在某个时候用不同的.htaccess规则扩展网站。