2013-03-22 77 views
3

當我進入我的網站,當我瀏覽其他網站,我得到一個參數的更多:等.PHP P =頁面名稱& ID = 1如何隱藏自己的網頁名稱後都用的.htaccess

我想隱藏一切後沒有自動跳轉

我曾嘗試:

RewriteEngine On 
RewriteRule ^([a-zA-Z0-9]+)$ index.php?p=$1 [L,QSA] 
RewriteRule ^([a-zA-Z0-9]+)/$ index.php?p=$1 [L,QSA] 

RewriteRule ^/index.php$ http://www.madsweb.dk/ [R,NC,L] 

但它似乎並沒有工作。

任何人都可以幫我嗎?

+0

我不認爲你可以隱藏這部分的URL。除非您通過POST或Cookie進行導航並忽略所有URL。 – 2013-03-27 23:25:19

回答

5

重寫規則^/index.php的$ http://www.madsweb.dk/ [R,NC,L]

重新寫入解決的其他方式。您不會重寫用戶在地址欄中看到的內容,而是重寫請求(如重定向,但在服務器上透明地處理)。

這也是你試圖在那裏做的不可能的原因

如果你喜歡90年代而不關心可用性,你可以使用一個框架。

不過開開玩笑而已,這是最好的,以建立在這個規則,這已經是很好的:

重寫規則^([A-ZA-Z0-9] +)$的index.php P = $ 1 [L,QSA]

並獲取附加信息(id在這種情況下)到模式中。例如:

RewriteRule ^([a-zA-Z0-9]+)/?$ index.php?p=$1 [L,QSA] 
RewriteRule ^([a-zA-Z0-9]+)/([0-9]+)$ index.php?p=$1&id=$2 [L,QSA] 

或更一般(但仍然只有一個參數):

RewriteRule ^([a-zA-Z0-9]+)/?$ index.php?p=$1 [L,QSA] 
RewriteRule ^([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([0-9]+)$ index.php?p=$1&$2=$3 [L,QSA] 
1

我想隱藏一切後,沒有自動跳轉

這是不可能的。 mod_rewrite無法刪除每個資源唯一的URL。

(如果你確實設法做到了,那麼它會斷開鏈接,包括書籤和搜索引擎)。

-4

Heeej

嘗試

$ PATHINFO =爆炸( '/',修剪( $ _SERVER ['PATH_INFO'],'/'));
$ pagina = $ pathInfo [0];
$ actie = $ pathInfo [1]; RewriteRule ^([a-zA-Z0-9] +)/([0-])/ 9] +)$ index.php?P = $ 1 & ID = $ 2 L,QSA]

或更一般(但仍然只有一個參數):

RewriteRule ^([a-zA-Z0-9]+)/?$ index.php?p=$1 [L,QSA] 
RewriteRule ^([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([0-9]+)$ index.php?p=$1&$2=$3 [L,QSA] 

列表($ pagina,$ actie)= explode('/',trim($ _ SERVER ['PATH_INFO'],'/'));

你也可以嘗試:

選項+的FollowSymLinks RewriteEngine敘述在 重寫規則^文件夾1 /(.*)$ /鏈接。 com/folder2/$ 1 [R = 301,L]