$url = parse_url('https://plus.google.com/+erikedgren');
$address = ltrim(rtrim($url['path'], '/'), '/');
echo $address;
$address
出力しますplus.google.com/ erikedgren
。なんで?そして、どうすればこの問題を解決できますか?
編集
上記のコードは を出力します+erikedgren
。しかし、アドレス$url
を$_GET['u']
(from parse_url(https://plu...)
to parse_url($_GET['u'])
)に置き換えると、 plus.google.com/ erikedgren
. 私のシステムがどのように機能するかを説明しましょう。
ローカル サーバーで自分の Web サイトのリンクをクリックすると (まだ更新プログラムをリリースしていません)、extern アドレスの URL は次のようになりますhttp://192.168.1.135/erik-edgren/url/https://plus.google.com/+erikedgren
。
外部アドレスの最後の部分は、$_GET['u']
フェッチしているものです。RewriteRule は次のようになりますRewriteRule ^url/(.*)$ get-url.php?u=$ 1
($ と 1 の間にスペースはありません)。