2014-04-02 45 views
0

網站中的所有鏈接都是一個get變量。用戶總是打開index.php並給出不同的get變量,這些變量定義了不同的內容。如何將URL從GET變量更改爲虛擬目錄

例子: 主頁是example.com/?p=1 聯繫人頁面example.com/?p=7

現在我想的URL看起來像example.com/聯繫。而且由於頁面數量不是靜態的,我無法爲每個頁面創建一個目錄。

也許我需要一種方法來導入我的index.php(example.com?p=3)的路徑,其中不存在(example.com/new-path)的內容。

我聽說有一種方法可以解決使用.htaccess文件。

+0

我發現這個問題重複了有用的答案:) http://stackoverflow.com/questions/19668686/redirect-without-changing-url?rq = 1 – Jere

回答

1

我不是的.htaccess/mod_rewrite的專家,但只是發現了這一個可能是對您有用。請注意,您必須提供要重定向因爲系統本身不會知道的數量和頁面之間的關係,每個頁面的入口。您可能需要嘗試刪除index.php

# Original URL: 
# http://www.example.com/index.php?p=1 

# Desired destination URL: 
# http://www.example.com/path-to-new-location/ 

# .htaccess syntax: 

RewriteEngine on 
RewriteCond %{QUERY_STRING} p=1 
RewriteRule ^index\.php$ /path-to-new-location/? [L,R=301] 
# Redirect URLs with query parameters (files placed in subdirectory) 

注意,#是徵求意見的標誌,(灰色)在該行任何事情都會被忽略,它的唯一目的是爲您提供信息/在代碼中的註釋。

源(線52-63):Common .htaccess Redirects - Gist

+0

這是重定向到新位置的好方法。但我需要一個所謂的「路徑到新的位置」文件夾...基本上我需要一種方法來改變URL而不改變內容 – Jere