1

我刚刚在这里搜索了很多并用谷歌搜索了这个实现,但我无法弄清楚。

我的意思是:我有一个包含 3 种语言的作品集网站(单页)。每次我点击一个标志(IT、EN、FR)时,它都会加载一个 php 文件。在其中有许多基于所选语言的翻译句子/单词。

**问题:
最终的 url 是这样的:(localhost/site/index.php?lang=en如果你点击英文 lang)。
我想像这样重写它:localhost/site/en

如何编写 htaccess 文件?**

我只是按照这个提示->使用 PHP 模拟文件结构

和这个:

RewriteEngine on
RewriteRule ^en/(.*)\.html$ /$1.php?language=english [L,QSA]

我无法弄清楚为什么不起作用。

其他详细信息:
- wamp 服务器
- mod_rewrite 已激活
- 单页站点 (jquery)
- firefox

谢谢你。

4

2 回答 2

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。

于 2013-03-20T13:49:11.383 回答
0

这将起作用

RewriteRule ^(.*).html index.php?lang=$1 [L]

您的网址将是localhost/site/en.html

于 2014-07-19T19:13:08.500 回答