0

这就是我所拥有的。

  • www.website.com/foo(用于营销作品的漂亮 URL)
  • www.website.com/foobar(网站上实际存在的 URL)

我可以让 www.website.com/foo 与此完美配合:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /foo [NC]
RewriteRule ^ http://www.website.com/redirected/url-goes-here/   [L,R=301]

但这也使得 www.website.com/foobar URL 也可以到达那里。

我确定这是一个正则表达式问题,我只是不知道正确的符号来让事情正常工作,但是如何在不影响 /foobar 的情况下正确地进行 /foo 重定向?

谢谢。

4

2 回答 2

1

试试这个:

RewriteCond %{REQUEST_URI} ^/foo$ [NC]
RewriteRule ^ http://www.website.com/redirected/url-goes-here/   [L,R=301]

REQUEST_URI将摆脱额外的请求标头THE_REQUEST。然后,您可以使用 和 匹配所请求 URL 的开头和^结尾$

于 2013-03-25T14:36:38.160 回答
0

你不需要RewriteCond. 只是具体的RewriteRule模式

RewriteRule ^foo$ http://www.website.com/redirected/url-goes-here/   [L,R]

查看更多关于正则表达式的信息。

永远不要在启用的情况下进行测试,有关详细信息301,请参阅此答案提示调试 .htaccess 重写规则

于 2013-03-25T14:44:02.963 回答