Apache 我需要使用htaccess从URL中删除语言代码

Apache 我需要使用htaccess从URL中删除语言代码,apache,.htaccess,mod-rewrite,Apache,.htaccess,Mod Rewrite,我有两种语言/ru和/uk/uk是默认值。 我需要从URL中删除/uk 例如: www.example.com.ua/uk/category 到 但是任何带有/ru的URL都不能更改。例如www.example.com.ua/ru/category htaccess look like DirectoryIndex index.html index.php <IfModule mod_rewrite.c> RewriteEngine on RewriteRule ^init.ph

我有两种语言
/ru
/uk
<代码>/uk是默认值。 我需要从URL中删除
/uk

例如:

www.example.com.ua/uk/category

但是任何带有
/ru
的URL都不能更改。例如www.example.com.ua/ru/category

htaccess look like

DirectoryIndex index.html index.php
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^init.php$ - [F,L,NC]

RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(favicon|apple-touch-icon-|homescreen-|firefox-icon-|coast-icon-|mstile-).*\.(png|ico)$ - [R=404,NC,L]

RewriteCond %{REQUEST_URI} ^api/(.*)$ [or]
RewriteCond %{REQUEST_URI} .*/api/(.*)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .*api/(.*)$ api.php?_d=$1 [L,QSA]

RewriteCond %{REQUEST_URI} \.(png|gif|ico|swf|jpe?g|js|css|ttf|svg|eot|woff|yml|xml)$ [NC,or]
RewriteCond %{REQUEST_URI} store_closed.html$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*?)\/(.*)$ $2 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]
</IfModule>
htaccess看起来像
DirectoryIndex.html index.php
重新启动发动机
重写规则^init.php$-[F,L,NC]
重写规则。*-[E=HTTP\U授权:%{HTTP:AUTHORIZATION}]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则^(favicon | apple touch图标-|主屏幕-| firefox图标-|海岸图标-| mstile-|*。(png | ico)$-[R=404,NC,L]
RewriteCond%{REQUEST_URI}^api/(.*)$[或]
RewriteCond%{REQUEST_URI}.*/api/(*)$
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则。*api/(.*)$api.php?\u d=$1[L,QSA]
RewriteCond%{REQUEST_URI}\(png | gif | ico | swf | jpe | g | js | css | ttf | svg | eot | woff | yml | xml)$[NC,或]
重写cond%{REQUEST_URI}store_closed.html$
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则^(.*?\/(.*)$$2[L]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则。index.php[L]

要从URL路径的开头删除
/uk
路径段,您需要在
.htaccess
文件的顶部执行以下操作:

RewriteRule ^uk/(.*) /$1 [R=302,L]
这假定您已经修改了所有内部链接和规范标记,以删除
/uk
路径段


如果这是永久性的,那么只有在您确认一切都按预期运行后,才将302(临时)重定向更改为301(永久),以避免潜在的缓存问题。

当我添加RewriteRule ^uk/(*)/$1[R=302,L]page/uk不起作用->错误\u太多\u重定向您知道这是什么原因吗?重定向循环的性质是什么?就其本身而言,该指令不会触发重定向循环,并且您发布的内容中没有任何内容与此相冲突?如果删除此指令并请求
/
格式的URL,会发生什么情况?“page/uk不起作用”-上述内容实际上不会对
/uk
这样的URL起任何作用,除非
/uk
是文件系统上的物理子目录(在这种情况下,您会看到双重定向)。您请求的实际URL是什么?
RewriteRule ^uk/(.*) /$1 [R=302,L]