2012-06-24 41 views
1

我目前已經在用戶文件夾中設置並正常工作。mod_rewrite:使用請求參數的多級URL

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?i=$1 

如127.0.0.1/site/users/admin去127.0.0.1/site/users/index.php?i=admin

現在,因爲這是一個個人資料頁,我會怎樣做這樣的事情。

用戶/管理員/活動

因此,它會顯示該用戶的活動頁面?我完全困惑於我將如何去做這件事。

最好是讓index.php接受一個頁面$ _GET變量?但是,我將如何讓htaccess解決它?

+0

真的'用戶/管理員'是否被重定向到'index.php?i = admin'或者更確切地說是'index.php?i = users/admin'?另外,我的理解是否正確,你希望在發送到index.php的另一個'$ _GET'變量中有'activity'? – Havelock

+0

我更新了我的文章,以便更容易理解,但是用戶/管理員轉到users/index.php?i = admin。而對於你的第二個問題呢,你認爲這是分割頁面的最好方法嗎?例如,如果你在我的網站上有一個配置文件,它將是用戶/ Havelock。現在,如果我想看到你的朋友,我希望能夠使用用戶/ Havelock /朋友。最好是讓第二部分轉到另一個$ _GET變量?所以出來的將是users/index.php?i = Havelock&page = Friends。 – Harry

回答

1

你的規則將是這個樣子:

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/]+)/(.*)$ index.php?i=$1&page=$2 [L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?i=$1 [L] 

現在你的index.php應該得到2個$_GET變量,ipage

+0

這個很好用!但是,當我使用用戶/管理員/朋友的所有CSS失敗。但我直接鏈接到他們,並再次工作(http://www.127.0.0.1/site/css/main.css而不是../css/main.css)我是否必須爲我的所有鏈接執行此操作? – Harry

+0

@Trendee這是因爲你有相對的鏈接給你的CSS,你可以嘗試添加'「或者適合你頁面的標題。 –

+0

只需要包含完整鏈接? – Harry