我的项目有MVC结构:example.com/class/function/param
如果项目位于根文件夹或子文件夹中,我会http://example.com/
或http://example.com/project/
。
我的目标是重定向:
http://example.com/ -> http://example.com/en/
http://example.com/project/ -> http://example.com/project/en/
http://example.com/**en**/
应替换为等效的语言(例如:/ de /,/ ru /,...)所以在伪代码中:
{base_url}/{lang}/{class}/{function}/{param}
将 http://example.com
定义为相对路径!
然后我可以选择url的第一段(/ en /)并用我的函数更改语言。
我当前的 .htaccess 文件:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]
</IfModule>
# Prevent file browsing
Options -Indexes
修改
考虑Router.php
类来处理URL重写...
答案 0 :(得分:0)
您无法直接使用htaccess进行此操作。您将能够获得用户语言,但不能使用此信息来完全按照您的意愿构建URL(如果在htaccess中您获得fr_FR,则您将无法仅在您的URL中添加fr)。 / p>
您必须使用PHP重写URL。见https://stackoverflow.com/a/16389034/2806497