Php 使用.htaccess更改URL中的语言参数代码
我已将URL中的语言代码从3更改为2。因此,我希望通过.htaccess将任何旧URL重定向到新URLPhp 使用.htaccess更改URL中的语言参数代码,php,apache,.htaccess,cakephp,mod-rewrite,Php,Apache,.htaccess,Cakephp,Mod Rewrite,我已将URL中的语言代码从3更改为2。因此,我希望通过.htaccess将任何旧URL重定向到新URL RewriteEngine on RewriteRule ^$ app/webroot/ [L] RewriteRule (.*) app/webroot/$1 [L] RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L,QSA] 示例
RewriteEngine on
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
示例:我想更改URL-
1) 到
2) 到
我使用的是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]
但它不起作用。
有人能帮忙吗?根据URL示例,您应该使用以下指令:
RewriteCond %{REQUEST_URI} ^/eng
RewriteRule ^/(.*)/(.*)$ /en/$2 [R]
RewriteCond %{REQUEST_URI} ^/deu
RewriteRule ^/(.*)/(.*)$ /de/$2 [R]
第一个RewriteCond指令将检查URI是否从/eng开始。如果是,相应的RewriteRule将用“en”替换“eng”,并附加URI的其余部分,该部分在参数$2中可用。R标志将启动重定向,以便新URL在浏览器中可见。对于deu也是如此。`重写规则^$app/webroot/[L]RewriteRule(.*)app/webroot/$1[L]RewriteCond%{REQUEST_FILENAME}上的RewriteEngine无法工作-d RewriteCond%{REQUEST_URI}^/eng RewriteRule^/(.*)/(.*)/en/$2[R]RewriteRule^(.*)$index.php/$1[L,QSA]`你能帮忙吗。使用这个:
RewriteRule上的RewriteEngine^$app/webroot/[L]RewriteCond%{REQUEST_URI}^/eng RewriteRule^/(.*)/(.*)/en/$2[R]RewriteRule%{REQUEST_URI^/deu规则^/.*)$/de/$2[R]