0

example.de/user1私のサイトでは、またはのようなURLを使用していますがexample.de/project33、これは.htaccessファイルで書き換えることができます。

スラッシュの後の文字列は、ユーザーが選択します。

私の問題は、一部のURLはユーザープロファイルリンクであり、に書き換える必要がprofile.php?id=...あり、一部のURLはプロジェクトリンクであり、に書き換える必要があることです。project.php...

どのようにそれを処理できますか?

rewriteCondition(-l、-f、-dなど)をトリガーするHTTPヘッダーについて考えました。

4

2 に答える 2

1

URLだけを見て適切なターゲットを決定する方法がないため、これらすべてのリクエストをリダイレクトするディスパッチャスタイルのスクリプトが必要になります。そのスクリプトが、profile.phpまたはへの最終的なリダイレクトを決定しproject.phpます。mod_rewriteカスタムURLデータベースの知識がないため、他の方法では発生しません。

于 2012-08-31T08:21:15.030 に答える
0

スラッシュの後の文字列がユーザーであるかプロジェクトであるかを実際にテストせずに、プロジェクト名と同じユーザー名を持つ可能性があるため、mod_rewriteにどちらであるかを知らせるために何か他のものが必要になります。何かのようなもの:

http://example.de/u/user1
http://example.de/p/project33

したがって、ルールはuor p(またはルールを作成するために選択したもの)と一致することを確認します。

RewriteRule ^u/(.*)$ /profile.php?id=$1 [L]
RewriteRule ^p/(.*)$ /project.php?id=$1 [L]
于 2012-08-31T08:34:45.453 に答える