27

我希望将 URL 重定向到同一域上的不同页面,但浏览器不更改 URL。所以页面www.mydomain.co.uk/tour/应该指向www.mydomain.co.uk/但不改变。

我在 Stackoverflow 上查看了很多类似的问题,但所有解决方案似乎都为我改变了 URL。

代码:

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

3 回答 3

25

因为您在重写规则中提供了完整的 URL,所以它会自动被视为重定向。用斜杠替换完整的 URL,它应该可以工作,即:

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

您甚至可以将其缩短为:

RewriteEngine on
RewriteRule ^/?tour.* / [P]
于 2013-02-15T13:41:05.810 回答
2

1- 使用 [P] 而不是 [L]

2- 在第二行末尾使用 $s 来重定向一组 url,并在其末尾删除 / 。

代码将如下所示:

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

它处理的不仅仅是文件夹浏览的索引页面。

于 2017-04-22T20:50:59.567 回答
-6

尝试将 [L] 更改为 [P],我认为它会起作用。

于 2013-09-20T15:36:15.587 回答