将传入的URL重定向到子目录[htaccess]

时间:2013-12-24 11:48:01

标签: php apache .htaccess redirect

我正在努力解决这个问题......

我所拥有的是具有基于语言的(虚拟)子网的域,例如domain.com/en。

重点是它在护目镜中被编入索引,并且这个结构在几天内就被更改了,所以旧的链接指向domain.com/postname(给出了404)

我正在尝试重定向,因此domain.com/postname将重定向到domain.com/en/postname

但我的尝试有一个循环错误,如domain.com/en/en/en/en/postname和类似。 我最后一次尝试是使用此代码,但似乎它也可以工作:

RedirectMatch 301 ^/en/([^/]+)$ http://domain.com/en/$1

任何帮助人员? 感谢

3 个答案:

答案 0 :(得分:1)

您可以在DOCUMENT_ROOT/.htaccess文件中使用此规则:

RewriteEngine On

RewriteRule !^en/ /en%{REQUEST_URI} [L,NC,R=301]

答案 1 :(得分:0)

在它之前添加一个规则,限制没有/ en /目录的文件,不确定确切的代码,但是类似于:

RewriteRule !/en/(.*)

答案 2 :(得分:0)

RewriteEngine On
RewriteRule ^(.*)$ /en/$1 [L,R=301]

试试这个(使用mod_rewrite)