2015-09-28 39 views
1

作爲標題說我是'網址重寫'字段中的新手,我想問一個問題,可以幫助像我這樣的其他人。Rookie Url Rewriting

比方說,我們有一個這樣的網址:

http://myepicsite.wow/index.php?value_x=1&value_y=2&value_z=3 

怎麼能夠不編寫一行代碼是從那些_GET生成的每個頁面此URL改寫爲這樣的事情(seofriendly)[]變量? :

http://myepicsite.wow/index.php/1/2/3 

回答

0

嘗試添加以下內容到.htaccess

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^myepicsite.wow [NC] 
RewriteRule ^(.*)$ http://myepicsite.wow/$1 [L,R=301] 
RewriteRule ^index.php/(.+)/(.+)/(.+)/?$ index.php?value_x=$1&value_y=$2&value_z=$3&%{QUERY_STRING} [L] 
2

嘗試:

RewriteEngine On 
RewriteRule ^index\.php/([^/]+)/([^/]+)/([^/]+)$ /index.php?value_x=$1&value_y=$2&value_z=$3 [L,QSA] 

然後你只需要確保你的鏈接看起來都像http://myepicsite.wow/index.php/1/2/3

但是,即使沒有重寫規則,您也可以從index.php中讀取它們。在您的index.php腳本中,您應該能夠讀取$_SERVER['PATH_INFO']變量並查看/1/2/3,然後將其分解爲數組並將它們分配給value_x/y/z變量。

+0

同意,但我認爲重寫它更清潔:) –

+0

重寫它的工作正常,但當我這樣做例如:var_dump($ _ GET); $ _GET是空的。 –