0

ユーザーアカウントを持つサイトを開発しています。それぞれの URL は、次の行に沿っています。

www.site.com/profile.php?user=ChanceM

しかし、URLを介して値を送信し、次のようなURLを使用してPHPで値を取得する別の方法があるかどうか疑問に思っていました:

www.site.com/ChanceM

または:

www.site.com/profile.php/ChanceM

最初の URL を覚えておくのはあまりユーザーフレンドリーではないので、これが可能かどうか疑問に思っていました。ありがとう!

4

5 に答える 5

1

Apache の場合 はい -書き換えルールについては、マニュアル ページを参照する必要があります。リンクは、これを行う方法を教えてくれます。Apache のドキュメントも参照してください。

他のサーバーについてはわかりません。

于 2012-04-19T00:07:50.097 に答える
0

確かにこれを行う方法はありますが、$_GET 配列のように PHP に組み込まれていない可能性があります。あなたができることの1つは、Apache構成で、404ページを、目的のURLを取得してwww.site.com/profile.php?user=ChanceMのようなバージョンにリダイレクトするphpスクリプトに置き換えることです(そして、mod_rewriteであなたを考えますこれもできます)。

于 2012-04-19T00:07:39.177 に答える
0

はい、あなたが示した方法のいずれかを行うことができます。

最初の例の場合、わかりやすい URL (site.com/Username) を PHP スクリプト (site.com/profile.php?user=Username) に透過的に書き換えることができるmod_rewriteのようなものを使用する必要があります。

2 番目の方法を使用$_SERVER['REQUEST_URI']すると、URL からデータにアクセスし、それを手動で使用可能な変数に解析する必要があります。

于 2012-04-19T00:08:19.190 に答える
0

「よりクリーンな URL」を送信したい場合 (ある種の URL 書き換えを行わずに)、implode や parse url などを使用できます。

http://us2.php.net/manual/en/function.parse-url.php
http://us2.php.net/manual/en/function.implode.php

これらのメソッドを使用すると、URL のさまざまな部分を取得して使用できます。

于 2012-04-19T00:09:10.003 に答える
0

mod_rewiteApacheで使用したい。

書き換えルールの例を次に示します。RewriteRule ^(.*)$ profile.php?user=$1

ここでテストできます: http://martinmelin.se/rewrite-rule-tester/

于 2012-04-19T00:10:16.643 に答える