我一直在試圖讓我的網站更加用戶友好,我想出了這個設置我怎樣才能讓我的htaccess使我的網址看起來像foo.bar/user這個片段我有
RewriteEngine On
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/?$ userpage?user=$1 [NC,L]
我將此添加到我的.htaccess
但我現在對如何訪問這些網址感到困惑。
在我index.php
當我一個用戶登錄試圖重定向使用
userpage.php?user=s2xi
的用戶,但該URL解析爲www.foo.bar/userpage.php?user=s2xi
,而不是www.foo.bar/s2xi
,並試圖以此爲檢查是否用戶存在(有沒有更好的辦法?)
if($_GET['user'] != $_SESSION['username']){
header("Location: no_user.php");
}else{
//load page
}
我使用Smarty模板引擎我的網站上,我有我的「的MES'目錄中屬於會員檔案
www.foo.bar/users/s2xi/themes
,但我想www.foo.bar/s2xi指向人的個人資料頁是可見的被大家其他,而不是他們的帳戶頁面。
哦,所以如果我不使用框架,我最好的選擇是使用新的重寫規則嗎?嗯什麼是QSA? – Eli 2011-03-11 19:42:00
QSA是另一個標誌(進入'NC'和'L'),它將查詢字符串轉發;所以url'/ user/foo?bar = baz'會被轉發到'userpage.php?user = $ 1&bar = baz'。否則查詢字符串不會傳遞。是的 - 如果你不使用框架,我建議使用新規則。 – mway 2011-03-11 19:49:43
謝謝,我來看看。快速提問。當我登錄和我的網址foo.bar/s2xi加載,它不加載頁面內容。任何想法爲什麼? – Eli 2011-03-11 20:43:24