2013-03-14 100 views
0

我試圖在重寫後隱藏一部分URL。用.htaccess隱藏一部分URL?

下面是我在.htaccess中使用的重寫規則,當有人試圖訪問abc.com時,這基本上會執行http://xyz.com/index.php-someextrainfohere。我想實現的是,我想在重寫後隱藏「-someextrainfo」部分。從我的感覺來看,我無法用第二個重寫規則來做到這一點。任何想法我怎麼能繼續這個?

RewriteCond %{HTTP_HOST} ^abc.com [NC] 
RewriteRule ^(.*)$ http://xyz.com/index.php-someextrainfohere 

謝謝。

+0

「隱藏」究竟意味着什麼 - 您是否希望信息仍然可用於您的應用程序? – 2013-03-14 11:37:36

+0

嗨Pekka,我想只有http://xyz.com在瀏覽器的地址欄上,沒有其他的東西。 – compixtr 2013-03-14 11:38:53

+0

我不關注。爲什麼如果你想讓它消失,你首先用額外的信息重寫URL? – 2013-03-14 11:39:32

回答

0

那麼,有一個核心網站,我的主要腳本託管。我有多個子網站,像代理這個核心網站一樣。當有人試圖通過子站點訪問時,我試圖使用一些額外的變量來將其轉發到核心站點,這些變量允許我跟蹤一些數據(這對每個子站點都是不同的),這就是我不想要的暴露給我的訪問者。

在這種情況下,您將不得不做一個頭部重定向,並且您可以在解析附加信息後在PHP腳本中執行此操作。

在index.php文件:

(parse the extra info) 

header("location: http://www.xyz.com"); 
die(); 

理論上你就可以同時使用HTTP_REFERER變量,而不是添加額外的信息,但它不是100%可靠的,因爲它可以在客戶端被關閉。

+0

謝謝Pekka!但是,腳本是加密的,我也不擅長php。 – compixtr 2013-03-14 21:11:25

+0

@compixtr我明白了 - 我認爲這是唯一的方法。如果您在.htaccess中重寫URL,信息將會丟失到腳本中。 – 2013-03-14 21:14:03

+0

謝謝Pekka!我會繼續研究這一點。 – compixtr 2013-03-14 21:20:01