2011-11-18 54 views
1

想知道是否有可能獲得不同的URL路徑重定向到一個單一的PHP文件,我可以從網址拉名稱。URL路徑重定向到一個單一的PHP文件

即如果我有www.example.com/username或www.example.com/username2或www.example.com/username3

我希望它重定向到一個username.php文件,然後我就可以從URL獲取用戶名並從數據庫加載信息。

如果沒有人有任何想法,我怎麼能做類似的事情。 tumblr做類似的事情,你只需在url中輸入一個用戶名,然後加載他們的博客。

+0

你可以爲此做URL重寫。 – 2011-11-18 10:22:00

+0

正如我上面的人所說,可以通過重寫來完成。這將是Web服務器特定的,所以你使用什麼Web服務器? – Corbin

+0

我正在使用apache服務器,我把它放在.htaccess文件中嗎? – Jason

回答

2

當然是的,它可能由於URL重寫!退房Apache mod rewrite

爲了您的信息,比如你想重寫規則可能看起來像:

RewriteEngine On 
RewriteRule ^/username(.*) /username.php?user=username$1 [QSA,L] 

我敢肯定,這將工作。只需在您的服務器中激活mod_rewrite即可。

+0

感謝爲 – Jason

+0

得到它:(。*)? 選項+的FollowSymLinks RewriteEngine敘述 在 重寫規則頁面的index.php用戶名= $ 1 [QSA,L] 含義:www.example。/頁 - 獲取重定向 ----------- RewriteRule^page /(.*)/index.php?username=$1 [QSA,L] - 獲取www.example.com/頁面/用戶名 – Jason

+0

完美(即使您的評論中的解決方案並不完全符合您的要求,我的答案可幫助您走上正確的軌道,這是最重要的;)) –

0

當u要打開www.example.com/page/username Web服務器將重定向到www.example.com/index.php?username=username1 用,你可以給一個頁面,每個用戶

實際上它們與重寫引擎像

www.example.com/index.php?username=username1 
www.example.com/index.php?username=username2 
www.example.com/index.php?username=username3 

頁面他們可以像這樣訪問。

www.example.com/page/username 
www.example.com/page/username2 
www.example.com/page/username3 

的.htaccess

Options +FollowSymLinks 
RewriteEngine On 
RewriteRule ^page/(.*) /index.php?username=$1 [QSA,L] 
+0

啊,我明白了。感謝您的幫助..生病讓我知道如果我得到它的工作 – Jason

+0

我已經把下面的.htaccess文件中: – Jason

+0

選項+ FollowSymLinks RewriteEngine在 RewriteRule^page /(.*)index.php?username = $ 1 [QSA,L] 但它沒有加載索引文件的CSS,我做錯了什麼? – Jason

-1

是的,這稱爲FrontController模式,通常使用重寫規則來實現。對於Apache2的一個稍微不同的方法的一個例子是:

<VirtualHost *:80> 
    ServerName quickstart.local 
    DocumentRoot /path/to/quickstart/public 

    SetEnv APPLICATION_ENV "development" 

    <Directory /path/to/quickstart/public> 
     DirectoryIndex index.php 
     AllowOverride All 
     Order allow,deny 
     Allow from all 
    </Directory> 
</VirtualHost> 

這一個從Zend Framework Manual,在那裏你找到FrontController Pattern的一個實際的例子服用。基本上,所有請求都發送到一個文件(在本例中爲index.php),並從那裏處理,通常通過將請求路由到另一個控制器。

+0

如何運作? –

+0

好點,補充說明信息。 – Lars

+0

它如何在提供的配置方面工作?哪一行負責將用戶的請求路由到你的模式,控制器和其他很酷的東西? –

相關問題