0

リンクを介してURLを渡したい

私のhtaccessコードは:

RewriteRule ^info/(.*)$ folder1/page1.php?url=$1 [L]

しかし、私の結果は:

$_GET['url'] = http:/stackoverflow.com (one slash is missing , http:/)

http://stackoverflow.comとして$_GET['url']が必要です

htaccessを使用するにはどうすればよいですか?

誰かが私を助けてくれますか.....

4

4 に答える 4

4

私はXzibitがこれに関して有効なポイントを持っていると思います:

http://cdn.memegenerator.net/instances/400x/18286577.jpg http://cdn.memegenerator.net/instances/400x/18286681.jpg

短編小説:リンク内にURLを埋め込みたい場合は、urlencodeを使用してください。問題が解決すると思います。

http://php.net/manual/en/function.urlencode.php

于 2012-04-11T08:37:12.347 に答える
1

それは不可能/です。スラッシュはURL区切り文字です。パラメータとして使用する前に、エンコードする必要があります。例えば ​​:site.com/info/http%3A%2F%2Fstackoverflow.com

$url = isset($GET['url']) ? urldecode($GET['url']) : 'default';

または、使用しない方がよいでしょうhttp://。そしてsite.com/info/stackoverflow.com。PHPの場合:

$url = isset($GET['url']) ? 'http://'.$GET['url'] : 'default';
于 2012-04-11T10:38:51.153 に答える
0

プッシュが押し寄せてくる場合:

$_GET['url'] = str_replace('http:/', 'http://', $_GET['url']);
于 2012-04-13T02:53:04.263 に答える
0

Apacheは複数のスラッシュを1に削除するため、RewriteRuleを使用してURIを照合することはできません。以下を使用してそれを可能にするコードを次に示します%{THE_REQUEST}

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+info/([^\s\?]+) [NC]
RewriteRule ^ index.php?url=%1 [L,QSA]
于 2012-04-11T12:42:52.630 に答える