使用.htaccess

时间:2016-04-06 08:41:03

标签: php apache .htaccess cakephp mod-rewrite

我已将网址中的语言代码从3更改为2.因此我想通过.htaccess将任何旧网址重定向到新网址

示例:我想更改网址 -

1)http://example.com/eng/Newshttp://example.com/en/News

2)http://example.com/deu/Newshttp://example.com/de/News

我正在使用CakePHP,这是默认的.htaccess

     RewriteEngine on
     RewriteRule    ^$ app/webroot/    [L]
     RewriteRule    (.*) app/webroot/$1 [L]
     RewriteCond %{REQUEST_FILENAME} !-d
     RewriteRule ^(.*)$ index.php/$1 [L,QSA]

我试过用这个:

      RewriteRule     (.*)/deu/(.*) $1/de/$2 [L]

但它没有用。 有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

根据URL示例,您应该使用以下指令:

RewriteCond %{REQUEST_URI} ^/eng
RewriteRule ^/(.*)/(.*)$ /en/$2 [R]

RewriteCond %{REQUEST_URI} ^/deu
RewriteRule ^/(.*)/(.*)$ /de/$2 [R]

第一个RewriteCond指令将检查URI是否从/ eng开始。如果是,则相应的RewriteRule将“eng”替换为“en”并附加URI的其余部分,该参数可在参数$ 2中使用。 R标志将启动重定向,以便在浏览器中显示新URL。同样适用于deu。