我刚刚在这里搜索过很多关于这个实现的搜索,但我无法搞清楚。
我的意思是:我有一个包含3种语言的投资组合网站(单页)。每次我点击一个标志(IT,EN,FR)它都会加载一个php文件。在里面有许多基于选择语言的翻译句子/单词。
**问题:
最后的网址如下:localhost/site/index.php?lang=en
(如果点击英文朗)
我想重写它:localhost/site/en
如何编写htaccess文件? **
我只是按照这个提示 - > Simulate file structure with PHP。
这一个:
RewriteEngine on
RewriteRule ^en/(.*)\.html$ /$1.php?language=english [L,QSA]
我无法弄清楚为什么不起作用。
其他细节:
- wamp服务器
- mod_rewrite激活
- 单页网站(jquery)
- firefox
谢谢。
答案 0 :(得分:0)
你的.htaccess希望成为这样的东西:
IndexIgnore */*
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php
将任何请求发送到index.php。
不存在的文件然后在PHP中检查URL并提供适当的服务:
$uri = $_SERVER["REQUEST_URI"];
$uriParts = explode("/", $uri);
$language = end($uriParts);
if ($language == "en) {
....
如果它与预期的语言不匹配,则值得投掷404。