2

2つの変数nameとidを必要とするこの短いphpコードを作成しましたが、コード自体は意図したとおりに機能し、問題ではありません。問題は、このファイルへのリンクを'http://から短縮したいということです。 www.mypage.org/folder/index.php?name=name&id=0'から'http://www.mypage.org/folder/name;0'のように:

RewriteRule ^([a-zA-Z0-9]+);(.*)$ index.php?name=$1&id=$2

しかし、誰かが「http://www.mypage.org/folder/name」のようなリンクを「;」なしで入力した場合 セパレーターは404ページを取得します。

';'のないリンクもチェックする一種のifステートメントを書く方法はありますか?

phpページは、デフォルトで「0」と欠落している名前を使用して、欠落しているIDを処理できます。

前もって感謝します!

4

1 に答える 1

1

パーツ;0またはURLをオプションにします。

RewriteRule ^([a-zA-Z0-9]+)(?:;(.*))?$ index.php?name=$1&id=$2

またはこのように(上記がApacheで機能しない場合)

RewriteRule ^([a-zA-Z0-9]+)(;(.*))?$ index.php?name=$1&id=$3
于 2012-06-14T10:52:56.610 に答える