2015-11-07 70 views
2

如果你有一个多语种的网站是这样的:htaccess的 - 跳过第一个文件夹

example.com/en/some-folder/some-file

example.com/ru/some-folder/一些文件

example.com/et/some-folder/some-file

这将有可能赶上“汝”,“恩”和“等”到像$ PHP变量朗,并在同一时间,有一个目录像这样只使用htaccess?

的htdocs /一些文件夹/一些-file.php

相反的:

的htdocs/EN /一些文件夹/一些-file.php

htdocs目录/ru/some-folder/some-file.php

htdocs/et/some-folder/some-file.php


我希望能够不必为每种语言重新创建所有文件夹和文件。但是我也想将URL中的语言捕捉到变量中,并忽略它,就好像它不存在一样。

+0

这些是物理文件夹或虚拟?因为您可以在文件夹中定义另一个'.htaccess'并定义新规则。 –

+0

en,ru和et是虚拟的。其余的都是实物 – Karandawov9111

回答

1

您可以使用您的.htaccess

RewriteEngine on 
RewriteRule ^(en|ru|et)(/.*)$ $2?lang=$1 [NC,L,QSA] 

重写example.com/en/some-folder/some-file.phpexample.com/some-folder/some-file.php?lang=en

+1

这是一个非常简单的任务。我想我误解了重写规则以及它们是如何工作的。非常感谢。希望其他人也能找到我的问题并使用这个简单的答案。 – Karandawov9111

+0

不客气,很高兴它解决了。 – Croises

+0

我刚用'/'做了一个小修改 – Croises

相关问题