2013-08-26 44 views
0

我確信在網絡上有類似主題的其他線程。但我無法在我自己的網站上運行。請幫我htaccess條件301

我的網站在我的子域

工作如http://demo.example.com/sitename/india

如果我把1個參數樣(印度)只。其裝載profile.php?countryname=india也是它的工作良好。

但是當我添加多個參數代入我的網址這樣

http://demo.example.com/sitename/india/tamilnadu/chennai

我想負荷profile.php?countryname=india&state=tamilnadu&city=chennai

我試試這個代碼

RewriteCond %{HTTP_HOST} ^demo\.example\.com/sitename$ 
RewriteRule (.*) walola/$1/$2 [R=301,L] 
RewriteRule ^([a-zA-Z0-9_-]+)$ sitename/profile.php?countryname=$1&state=$2 [QSA] 

當我通過一個參數爲我的網址,否則其工作的顯示404錯誤。

請指導我。

***Answer*** 

RewriteCond %{HTTP_HOST} ^demo\.example\.com/sitename$ 
RewriteRule (.*) sitename/([^/.]+)/([^/.]+) [R=301,L] 
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)$ sitename/profile.php?countryname=$1&state=$2 [QSA] 

它的作品很好。

回答

1

請試試這個

RewriteRule ^(.*)/(.*)$ sitename/profile.php?countryname=$1&state=$2 [QSA] 

或者發送完整URL profile.php頁面,並使用PHP的分裂。

RewriteRule ^/* sitename/profile.php?site=%{REQUEST_URI} [L,NC,QSA] 
+0

什麼是平均通過[L,NC,QSA]。我怎樣才能解析我的params。請告訴我 –

+0

您可以在以下鏈接http://httpd.apache.org/docs/2.2/rewrite/flags.html中獲取所有標誌的詳細信息。您可以在$ _GET [「site」]的profile.php頁面中獲取完整的網址,即http://demo.example.com/sitename/india/tamilnadu/chennai。在那裏你可以通過使用分解函數php – Kalai

+0

感謝您的迴應。但我有一個問題。請幫助我 –

0

我會做這樣的:

1. RewriteRule ^sitename/(.*) /sitename/profile.php/$1 [QSA,L] 
2. In PHP: $args = explode("/", $_SERVER["PATH_INFO"]); 
3. By var_dump($args) you will have idea how to deal with it.