我有一些语言特定的目录,现在没有任何内容,但会从外部应用程序获得流量。因此,我需要将所有页面请求重定向到特定页面,该页面使用适当的语言,该页面将具有一些消息传递和指向等效EN页面的链接。例如:http://example.com/DE/somepage.html
(或包含/ DE /目录的任何其他文件路径)应该转到http://example.com/DE/temppage.html
我已经尝试了几十个.htaccess命令而没有运气,但这看起来对我来说没有&# 39;工作:
RewriteEngine on
RewriteRule ^DE/(.+) DE/temppage.html [L,R]
现在为我工作
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_URI} !/HGTemp.php$ [NC]
RewriteCond %{REQUEST_URI} !\.(jpe?g?|png|gif) [NC]
RewriteRule .* /dir/dir/dir/DE/HGTemp.php [R=302,L]
</IfModule>
因为无论目录如何,文件路径都相同,我想采用请求的 URL http://example.com/DE/somepage.html
,抓取文件路径并将其放入英文版的工作网址中IE http://example.com/EN/somepage.html
。我正在尝试使用PHP,将请求的URL存储在会话中,获取该文件路径并将其添加到正确的目录路径。
<?php
session_start();
var extension = $path_parts['extension']; //not correct but the idea is
echo 'http://example.com/EN/' . $extension . '.com; //not correct but the idea is
?>
关于完成这两项任务的最有效方法的任何想法?
这是工作解决方案
$url = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
$my_var = 'en-us';
$temp = explode( '/' , $url );
$temp[6] = $my_var;
$url = implode( '/' , $temp );
$url = str_replace("Page.php", "", $url);