在翻译页面时使用mod_rewrite和php的更好方法?

在翻译页面时使用mod_rewrite和php的更好方法?,php,apache,.htaccess,mod-rewrite,Php,Apache,.htaccess,Mod Rewrite,我正在尝试将这些页面从英语翻译成法语: /关于.php /contact.php /php?id={$id}&title={$title} 我创建了以下链接: <a href="<?php echo $url; ?>"> <?php if($language !== 1): ?>English<?php else: ?>French<?php endif; ?></a> 我想让它做的是,如果lang参数设置为任何值,则将1

我正在尝试将这些页面从英语翻译成法语:

/关于.php /contact.php /php?id={$id}&title={$title} 我创建了以下链接:

<a href="<?php echo $url; ?>"> <?php if($language !== 1): ?>English<?php else: ?>French<?php endif; ?></a>
我想让它做的是,如果lang参数设置为任何值,则将1返回到$language。然后,我将使用if语句获取并相应地显示内容

然而,我意识到这个url/paints.php?id={$id}&title={$title}看起来很糟糕,我使用mod_rewrite将它转换成这个版本/{$id}/{$title},使用这个RewriteRule ^[^/]*/[^/]*$/photo.php?id=$1&title=$2[L]。事情就这样破裂了。虽然$url在绘画中的所有其他页面上都起作用,但在其中一个页面上不起作用


我觉得我完全错了。我怎样才能让它工作?还有,有没有更有效的方法来实现这一点?

您创建链接的代码非常混乱。在PHP中为href创建一个字符串,然后回显它。不要在输出中嵌入逻辑。你为什么用自己的方法来编码语言偏好?你能说得更具体一点吗?当前$url根据$\u GET['lang']参数更改其值。
$url = $_SERVER["REQUEST_URI"];                                                     
if (isset($_GET['lang'])) {
    $pattern1 = '&lang=' . $_GET['lang'];
    $pattern2 = '?lang=' . $_GET['lang'];
    $patternTotal = array($pattern1, $pattern2);
    $url = str_replace($patternTotal, '', $url);
    $language = 1;
} 
else if (strpos($_SERVER["REQUEST_URI"], '?')) {
    $url .= '&lang=en';
    $language = 0;
} 
else {
    $url .= '?lang=en';
    $language = 0;
}