1

我遇到了 URL 格式的问题。

我需要发送 /en 到 /

问题是我只需要 /en(确切地说),而不是 /en/foo...

我知道如何使用以 .html 结尾的字符串,但在这里我有其他具有 /en/stuff 的 URL,它们也匹配。

非常感谢帮助...

4

2 回答 2

1

您需要在RewriteCond例如指定字符串的结尾

RewriteEngine on

RewriteCond %{REQUEST_URI} ^/en$
RewriteRule ^(.*)$  / [L,R=301]

请注意,条件模式和重写规则模式是 perl 兼容的正则表达式(有一些补充):

对于锚:

  • ^ - 起点锚
  • $ - 行尾锚

编辑

顺便说一句,在http://htaccess.madewithlove.be/有一个非常好的htaccess 测试器,您可以使用它来测试规则。

于 2013-01-07T14:21:53.347 回答
0

通过启用 mod_rewrite 和 .htaccess httpd.conf,然后将此代码放在您.htaccessDOCUMENT_ROOT目录下:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteRule ^en/?$ / [L,R=301,NC]

这将重定向/en/en/还要/注意,/EN由于此处使用了 NC(忽略大小写)标志,这也将被处理。

于 2013-01-07T14:39:59.950 回答