0

htaccessのリダイレクトについて質問させてください。htaccess、書き換え、きれいなプロファイルの URL について多くの質問があることは承知していますが、私の質問に対する本当の答えが見つからなかったので、あなたの助けを借りて見つけられることを願っています.

ご存じのとおり、このきれいな URL ルールは、「mydomain.com/profile.php?username=myuser」を「mydomain.com/myuser」に変更するように機能します。

しかし、ログイン URL の書き換えルールがあるとしましょう: www.mydomain.com/login

つまり、ユーザーが「ログイン」とまったく同じユーザー名を使用しようとした場合、書き換え時に発生する可能性のある競合をどのように処理できますか?

実際に可能な解決策は、最小6文字のような最小文字制限かもしれませんが、「/resetpassword」のように6文字以上を使用するオプションが失われるため、エレガントに見えません.

ユーザーがユーザー名を選択する場合、おそらく「禁止された言葉」のような配列コントロールが解決策になりますが、使用すべきではないあらゆる種類の可能性を予測する必要があります。

巨大な Web サイトの多くは、この書き換え方法を使用しています。特に Facebook では、ページとユーザーに対して "/username" のようなルールを同時に使用しています。

とにかく、誰かがその種のURLリダイレクト/書き換えルールの背後にある魔法を持っているなら、これについて私を助けてください:)

ありがとう

PS : 「/user/username」のような別の解決策があることは知っていますが、最近ではベース URL を直接指定して完全な URL を短縮することがますます一般的になっています。その可能性を理解する必要があります。

4

2 に答える 2

1

サイトのルートに、ユーザーのログインに関連するファイルを含む login サブディレクトリを作成しないのはなぜですか? そうすれば、htaccess ファイルの書き換えルールは、ユーザー リダイレクト全体を処理するだけで済みます。

于 2012-09-13T23:08:24.833 に答える
0

あなたが探しているのは「ルート」と呼ばれるものです。それらは通常、Zend Framework、Symfony の CakePHP などの MVC フレームワークによって実装されます。

彼らが本質的に行うことは、すべてのリクエストを index.php に転送することです。index.php は、$_SERVER['REQUEST_URI']どの PHP ファイルからリクエストを処理する必要があるかを判断します。

PHP で書き換えルールを .htaccess ファイルに入れることはお勧めしません。代わりに、PHP フレームワークを試してみてください。彼らはあなたのために大変な仕事をします。

個人的には、Zend Framework を使用しています。しかし、初心者には新しいバージョン 2 をお勧めしません。ZF1を試してみてください。実際に入るのはかなり簡単です。

于 2012-09-13T23:04:21.863 に答える