2012-09-13 69 views
0

我需要問一些關於htaccess重定向。我知道有很多關於htaccess,重寫和漂亮個人資料網址的問題,但我從未找到我的問題的真實答案,我希望我能在您的幫助下找到答案。Htaccess重寫用戶配置文件和可能的衝突

,當你知道會工作像改變「mydomain.com/profile.php?username=myuser」到「mydomain.com/myuser」漂亮的URL規則。

但是,讓我們說,我有我的登錄URL重寫規則:www.mydomain.com/login

這意味着如果用戶嘗試具有完全相同的用戶名作爲「登錄」你怎麼可以處理該衝突可能對改寫?

實際可行的解決方案可能是最小的字符限制如最小6個字符,但因爲你失去你的選項,使用超過6個字符,如「/ resetpassword」它不看優雅。

也許當用戶選擇一個用戶名,但隨後你需要預見到所有類型的不應該被使用可能性的「禁詞」之類的陣列控制將是一個解決方案。

許多巨型網站使用此方法重寫。特別是Facebook在同一時間爲頁面和用戶使用「/用戶名」類型的規則。

無論如何,如果有人有什麼是那種URL重定向背後的魔法/重寫規則請幫我在這:)

感謝

附: :我知道還有另一種解決方案,比如「/ user/username」,但現在直接指向基本URL並縮短完整的url越來越受歡迎,我只需要了解其中的可能性。

回答

1

爲什麼不直接在您的網站包含相關文件用於記錄在用戶根目錄的登錄子目錄?這樣,你的htaccess文件中的重寫規則只需要處理整個用戶重定向的東西。

+0

我使用laravel php框架,這意味着子目錄不會是一個答案(順便說這是我的錯誤說htaccess)。 但實際上它非常酷。也許我需要使用路由「/ user/login」而不是「/ login」。這是完美的感覺:)謝謝你的想法 – Mertafor

0

你在找什麼叫做「路線」。它們通常由Zend Framework,Symfony的CakePHP等MVC框架實現。

他們實際上做的是將轉發給每個請求一些index.php,然後從$_SERVER['REQUEST_URI']算出哪些PHP文件應該處理請求。

我不會建議把重寫規則成PHP .htaccess文件。相反,嘗試進入PHP框架。他們爲你努力解除。

個人而言,我使用Zend Framework。但我不會向初學者推薦新版本2。試試ZF1。這實際上很容易進入。

+0

其實我剛開始使用Laravel框架,它具有非常棒的功能。實際上,路線現在是我正在處理的。 我在路由前使用過濾器來檢查是否有一個用戶名爲get uri,所以如果它成功顯示配置文件。 但正如我所說,如果有一個用戶名稱爲「登錄」,我的/登錄名將被忽略或其他情況下的用戶配置文件將被忽略。 這就是我想到的實際上 – Mertafor