2011-12-20 8 views
1

私には、学生、教師、管理者のソフトウェアがあります。教師がhttp://mydomain.com/teacher1http://mydomain.com/teacher2などmod_rewrite、user dir

などのウェブアドレスを選択できるようにしたいのですが、どうすればこのmod_rewriteを使用できますか?

RewriteEngine On 
RewriteRule username teacher/ 

をではなく、私はteacher/dirの代わりtraining.phpに教師のディレクトリにあるいくつかのリンクのようなteacher/training.phpブラウザオープンindex.phpページを持っている場合:この部分は働いています。

+0

ご迷惑をおかけして申し訳ございません。必要なもの(=開始URL)、サーバー側で内部的に書き直す方法、エラーがある場合は、問題のあるURLを記述してください。 –

+0

http://webmasters.stackexchange.comでこのようなことに特化しているので、おそらくもっと良い回答を得るでしょう。私はそこにマイグレーションすることに投票しました。 –

答えて

0

mod_rewriteは、すべてのパスを読み取り、すべてを変更します。フォーマットは次のとおりです。「のRewriteRule パターン置換」(Apache Docs

「パターン」は、サブストリングを書き換えされることと一致する部分文字列と何もすることができますが、「置換」フルパスです。

あなたは開始時にのみマッチする「ユーザ名」にしたいと仮定すると、その下のすべての場所を書き換えなければならないことを仮定して、何が必要です:

RewriteEngine On 
RewriteRule ^username(/(.*))? teacher$1 

「ユーザー名」を無視したが追加されること残りのパスは末尾にあるので、http://example.com/username/training.phpは内容を表示します(アドレスは変更しません)http://example.com/teacher/training.php。 URLが変更されるように完全リダイレクトを実行する場合は、RewriteRule行の末尾に[R=301]を追加します。