2013-02-15 33 views
19

我希望將網址重定向到同一網域中的其他網頁,但瀏覽器不會更改網址。所以頁面www.mydomain.co.uk/tour/應指向www.mydomain.co.uk/,但不能更改。.htaccess:無需更改網址即可重定向

我看了很多關於Stackoverflow的類似問題,但所有的解決方案似乎都改變了我的URL。

CODE:

RewriteEngine On 
Options +FollowSymLinks 
RewriteCond %{REQUEST_URI} ^/tour 
RewriteRule ^(.*)$ http://www.mydomain.co.uk/ [L] 
+1

嘗試刪除域。還可以嘗試使用'[P]' – 2013-02-15 13:41:09

+0

真棒在下面的答案中加入[P] – 2013-02-15 14:11:05

回答

18

因爲你在你的重寫規則提供了一個完整的URL它是作爲一個重定向自動處理。只是一個斜線替換完整的URL,它應該工作,即:

RewriteCond %{REQUEST_URI} ^/tour 
RewriteRule ^(.*)$/[P] 

你甚至可以縮短它歸結爲:

RewriteEngine on 
RewriteRule ^/?tour.*/[P] 
+0

你應該告訴啓用mod_proxy的風險,就像Apache一樣,在這裏http://httpd.apache.org/docs/current/ mod/mod_proxy.html – user2602152 2015-09-04 11:19:33

-4

儘量只改變[L]到[P]和我假定它會起作用。

+8

這不就是他剛纔說的那個已經接受的答案嗎? – 2013-09-20 15:45:08

1

1-使用[P]代替[L] 2-在第二行末尾使用$ s來讓一組網址重定向並刪除/結尾。 代碼將是這樣的:

RewriteCond %{REQUEST_URI} ^/tour 
RewriteRule ^(.*)$ /$1 [P] 

與比該文件夾遊的索引頁更多的治療。

+0

這與[Michal M的答案]完全一樣(http://stackoverflow.com/questions/14895980/htaccess-redirect-without-changing-url/14896042#14896042)... – 2017-04-22 21:38:33

+0

請重新檢查,$ 1標誌是那裏! – 2017-04-22 21:41:09

+0

啊,我的錯。我沒有注意到這個變化。爲確保沒有其他人犯同樣的錯誤,我建議編輯你的答案,提及米哈爾現有的答案,以及你爲什麼不同 – 2017-04-22 21:43:59