2011-11-18 10 views
1

URLから名前を引き出すことができる単一のPHPファイルにリダイレクトするために別のURLパスを取得できるかどうかを知りたいですか?URLパスが単一のPHPファイルにリダイレクト

私はwww.example.com/usernameまたはwww.example.com/username2またはwww.example.com/username3

を持っている場合、すなわち、私はそれがその後、私ができるusername.phpファイルにリダイレクトしますURLからユーザー名を取得し、データベースから情報をロードします。

もし私が何か似たようなことをすることができる人がいないのであれば、誰にも分かりません。 tumblrはあなたがURLにユーザー名を入力するだけで、ブログを読み込むことができるのと同様のことをします。

+0

あなたはURL書き換えを行うことができます。 –

+0

私の上の人が言ったように、それは書き換えを使って行うことができます。しかし、これはWebサーバー固有のものなので、どのWebサーバーを使用していますか? – Corbin

+0

私はApacheサーバを使用していますが、これを.htaccessファイルに入れますか? – Jason

答えて

2

はい、それは書き換えURLのおかげで可能です! Apache mod rewriteをチェックしてください。私はこれが動作しますかなり確信している

RewriteEngine On 
RewriteRule ^/username(.*) /username.php?user=username$1 [QSA,L] 

:ようなあなたの情報について

、あなたが望むような書き換えルールが見えるかもしれません。サーバーのmod_rewriteをアクティブ化するだけです。

+0

可能おかげでそれを得た場合、私は、問題を見て、実際のP​​HPファイルを必要とします 意味:www.example。com/page - リダイレクトされます ----------- RewriteRule^page /(.*)/index.php?username=$1 [QSA、L] - gets www.example.com/ページ/ユーザー名 – Jason

+0

の作業場所 – Jason

+0

パーフェクト(あなたの解答はあなたが求めているものではなくても、私の答えは正しい軌道に乗るのを助けました、それは最も重要です;)) –

0

uはwww.example.com/page/username Webサーバが各ユーザー

にページを与えることができるとwww.example.com/index.php?username=username1 にリダイレクトされます開きたいときに実際に彼らがすることができ書き換えエンジンと

www.example.com/index.php?username=username1 
www.example.com/index.php?username=username2 
www.example.com/index.php?username=username3 

のようなページですこのようにアクセス可能です。当然の

www.example.com/page/username 
www.example.com/page/username2 
www.example.com/page/username3 

の.htaccess

Options +FollowSymLinks 
RewriteEngine On 
RewriteRule ^page/(.*) /index.php?username=$1 [QSA,L] 
+0

ああ、分かります。あなたの助けをありがとう。私はそれが働くかどうかを知らせます。 – Jason

+0

私は.htaccessファイルに以下を書きました: – Jason

+0

オプション+ FollowSymLinks RewriteEngine On RewriteRule^page /(.*)index.php?username = $ 1 [QSA、L] インデックスファイルのCSSが読み込まれません。間違っていますか? – Jason

-1

はい、これはFrontControllerパターンと呼ばれ、通常は書き換えルールで実現されます。 Apache2のための若干異なる方法の例は次のようになります。

<VirtualHost *:80> 
    ServerName quickstart.local 
    DocumentRoot /path/to/quickstart/public 

    SetEnv APPLICATION_ENV "development" 

    <Directory /path/to/quickstart/public> 
     DirectoryIndex index.php 
     AllowOverride All 
     Order allow,deny 
     Allow from all 
    </Directory> 
</VirtualHost> 

この1つはあなたがFrontController Patternの実用的な例を見つけるZend Framework Manual、から取られています。基本的には、すべての要求は1つのファイル(この例ではindex.php)に送信され、そこから処理されます。通常、その要求は別のコントローラにルーティングされます。

+0

それはどのように働くのですか? –

+0

良い点は、その情報を追加しました。 – Lars

+0

提供された設定の仕組みはどうですか?あなたのパターン、コントローラー、そして他のクールなものへのユーザーの要求をルーティングするのはどのラインですか? –

関連する問題