2011-06-07 127 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規則擴展網站。