可能重复:
使用 htaccess 文件重定向
你好(非常简单的问题),
如何映射
mydomain/language/somepage
至
mydomain/somepage.php
物理页面当然是 mydomain/somepage.php
想法是/en/somepage、/fr/somepage、/de/somepage 都指向somepage.php(我打算用php 获取URL 中传递的语言)。
更具体地说,我希望 apache 理解从请求 URI 中抑制 /fr /en /de 并提供正确的文档,我的物理树没有任何 /fr /en /de 子目录:即
root/fr/subdir/subsubdir/somepage
应该指向
root/subdir/subsubdir/somepage.php
谢谢 !
* 编辑 *
所以,我想我对 URL 重写的工作原理有了更好的了解,所以我来到了这里。它坏了,我实际上很讨厌正则表达式,所以如果有人可以帮我解决它,我会喜欢它!^^
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond ^[a-z]{2}$/%{REQUEST_FILENAME}\.php -f
RewriteRule ^([a-z]{2})/(.*)$ $2.php?lang=$1
说明:URL 将以以下形式传递给 apache
root/(fr|de|en|whatever)/document
并且(应该)以/传递给php的形式重写
root/document.php?lang=(fr|de|en|whatever)
我希望它足够清楚,TYVM!
此外,能够传递子目录以及
root/(fr|de|en|whatever)/sub/.../document
会很好。我需要进一步解释 htaccess 的常量,例如 %{REQUEST_FILENAME}, %{REQUEST_URI}, ...
泰