0

すべての URL で自分のドメインの後に URL に余分なパスを追加しようとしている場合

$extra = "en";
$domain = "http://domain.com";
$current = currentURL();
$rest_path = str_replace($domain,'',$current);
$result = $domain."/".$extra.$rest_path;

// $result is "http://domain.com/en/mysub/mysub"

この後、PHPリダイレクトを使用してサイトをリダイレクトします

現在のURLを取得するには..

function currentURL() {
    $pageURL=(@$_SERVER["HTTPS"]=="on")?"https://":"http://";
        if($_SERVER["SERVER_PORT"]!="80"){
            $pageURL.=$_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
        }else{
            $pageURL.=$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
        }
        return $pageURL;
}

多くのステップのように見えますが、それを行うのは簡単ですか? または、私の悪いコーディングを確認してください。

PS:使用せずにやってみてください.htaccess

4

2 に答える 2

2

私はちょうど使用します:

$extra = "en";
$domain = "http://domain.com";
$result = $domain."/".$extra.$_SERVER['REQUEST_URI'];

プロトコルまたはドメイン名を使用していないためです。

于 2013-04-08T11:38:04.263 に答える
1
$extra = 'en';
$domain = $_SERVER['SERVER_NAME'].'/'.$_SERVER['REQUEST_URI'];
$new_url=str_replace('.com','.com/'.$extra,$domain);

いいえ?

于 2013-04-08T11:42:55.690 に答える