2016-09-05 11 views
0

要求されたサブフォルダのURLをPHP以外のhtaccessファイルを使用して他のものに変更するには、助けが必要です。 stackoverflow.com/ のfolder1/phpを使用してURLのサブフォルダを変更するには

にstackoverflow.com/を尋ねるフォルダ2 /尋ねる

から

が可能ということでしょうか?

アップデート:私はIPに取り組んでいる

がgeoipのモッズやボットに基づいてリダイレクト機能を検出しました。

3 Magentoウェブサイト(シングルドメイン)と2つのストアビューが各ウェブサイトにあります。

switch (true) 
{ case (bot_detected($bot) === FALSE && $country == "us"): 
$mageRunCode = isset($_SERVER['MAGE_RUN_CODE']) ? $_SERVER['MAGE_RUN_CODE'] : 'us'; 

break; 

case (bot_detected($bot) === FALSE && $country == "uk"): 
$mageRunCode = isset($_SERVER['MAGE_RUN_CODE']) ? $_SERVER['MAGE_RUN_CODE'] : 'uk'; 
break; 

    default: 
$mageRunType = isset($_SERVER['MAGE_RUN_TYPE']) ? $_SERVER['MAGE_RUN_TYPE'] : 'store'; 
} 

米国の訪問者が英国の店舗リダイレクトからのURLをクリックしてもそれがうまく動作します。ですから、私は、URLを米国にリダイレクトし、店舗の条件と同じように強制する必要があります。

+0

したがって、たとえば、次のような正規表現を使用することができます。 [最小限で完全で検証可能なサンプルの作成方法](http://stackoverflow.com/help/mcve)を参照してください。内容がなければ、301のリダイレクトは '/ folder1 /'を見つけるためにregexを使い、 '/ folder2 /'で置き換える 'folder1'のページで作成することができます。この回答は、PHPでこれを行うのを助けることができます:http://stackoverflow.com/questions/768431/how-to-make-a-redirect-in-php –

+0

ありがとうございました@WilliamPatton上記の質問を更新しました。いいえ、私は301のリダイレクトをgeoip modとボットが関数を検出して訪問者を正しい店にリダイレクトする必要はありません。 – MagEGY

答えて

0

pathinfo機能を使用する必要があります。この作品のような何か:あなたはあなたの道の構造を知っていれば

<?php 

$url = 'http://stackoverflow.com/folder1/ask'; 

$pathinfo = pathinfo($url); 

//$pathinfo['dirname'] contains the full prefix of the URL 
//here, http://stackoverflow.com/folder1 
//So simply replace folder1 by folder2 in that string 
$newPrefix = str_replace('folder1', 'folder2', $pathinfo['dirname']); 

//Use that new prefix and append the same basename ('ask') 
$newUrl = $newPrefix . '/' . $pathinfo['basename']; 

echo $newUrl; 

Check it out on 3v4l.org!

+0

ご意見ありがとうございますSolarBear。 私は以前と同じようなことを試みましたが、結果はERR_TOO_MANY_REDIRECTSでした。私はちょうどヘッダ( "場所:"。$ newUrl)を追加しました。何か案が? – MagEGY

+0

Webサーバーでは、一定数のリダイレクトが許可されます。同じページにリダイレクトしていないことを確認します。そうしないとリダイレクトループが無限に繰り返されます(ページAはページAにリダイレクトされ、ページAにリダイレクトされます)。等) – SolarBear

0

より一般的なアプローチは、正規表現を使用することでしょう。いくつかのより多くのコンテキストを助けることができるようにするために誰かのために、ここで提供される必要があるであろう

/stackoverflow\.com\/(.*)\/(.*)/ 
+0

こんにちはビクター、あなたは例を挙げていただけますか? – MagEGY

関連する問題