0

Web制作初心者です。個人的なプロジェクトとして、URL 短縮サービスを作りたいと思っています。1つのことを除いて、すべてが順調に進んでいます。

着信要求を処理できません。

例えば。誰かが www.examp.le/Dnd5Je と入力した場合、URL から最後の 6 文字を取得し、データベースで検索できるようにしたいと考えています。

問題は、$_GET 配列を使用せず、URL で ?id=77 などの識別子を使用せずに文字を取得する方法を理解できないことです。

私は少し迷っており、最後の6文字を抽出する方法について何か助けていただければ幸いです. ありがとう

4

5 に答える 5

3

.htaccessファイル内の URL を次のように書き換えることができます。

RewriteEngine On
RewriteRule ^([^/.]+)/$ index.php?target=$1
RewriteRule ^$ index.php

上記のコードは、 などの URL を書き換えwww.examp.le/foobar123/ますwww.examp.le/index.php?target=foobar123。その後、変数を使用して$_GETの値を読み取ることができます$_GET['target']

于 2012-06-09T13:57:36.437 に答える
1

basename()を使用できます

$str = basename($url);

作業例はこちら

于 2012-06-09T13:57:35.530 に答える
1

を使ってみてください$_SERVER['REQUEST_URI']

于 2012-06-09T13:57:41.137 に答える
1

$_GET 配列が入力されていない理由は、www.examp.le/Dnd5Je で受信しているものは GET 情報を持たない有効な URL であるためです。GET 情報は、キーと値のペアとして疑問符 (?) の後にあります

達成しようとしているものを実装するには、Web サーバーに URL を「書き換える」必要があります。これを行う方法は、使用している Web サーバーによって異なります。Apache の場合、ドキュメントはここにあります。

http://httpd.apache.org/docs/current/mod/mod_rewrite.html

于 2012-06-09T13:59:36.750 に答える
0

を使用できます$_SERVER['REQUEST_URI']/Dnd5Jeこれには、簡単に削除できる例 の先頭のスラッシュが含まれます。

詳細については、 $_SERVER の手動を検討してください

于 2012-06-09T13:59:56.047 に答える