へのリクエスト/messages/process/
は、次のルールに一致します。
RewriteRule ^messages/([a-zA-Z_-]+)/?$ messages.php?page=$1 [L]
/messages/process/
...したがって、より一般的なルールに一致する前に、以前に一致してルーティングする、より具体的なルールが必要になりますmessages-process.php
。
これを他のすべてのルールの前に配置すると、その特定のパターンでそれが達成されます。
RewriteRule ^messages/process/?$ messages-process.php [L]
のようにprocess/
、同様の書き換えが必要なディレクトリが他にもある場合は、他のディレクトリの前にこのルールを使用してください。後で、より一般的なルールに一致させてはならないものを明示的にリストする必要があります.../messages/thing
messages-thing.php
# Matches /messages/process/ or /messages/otherdirectory/, etc...
RewriteRule ^messages/(process|thing|otherdirectory|somethingelse)/?$ messages-$1.php [L]
一緒に、これは仕事をするはずです:
# Matches /messages/process/ or /messages/otherdirectory/, etc...
RewriteRule ^messages/(process|thing|otherdirectory|somethingelse)/?$ messages-$1.php [L]
RewriteRule ^messages/process/([a-zA-Z_-]+)/([0-9]+)/?$ messages-process.php?do=$1&id=$2 [L]
RewriteRule ^messages/process/ajax/([a-zA-Z_-]+)/?$ messages-process.php?do=$1&ajax=true [L]
RewriteRule ^messages/view/([0-9]+)/?$ messages.php?page=view&id=$1 [L]
# Stuff not matched by the specific rule at the top matches this one...
RewriteRule ^messages/([a-zA-Z_-]+)/?$ messages.php?page=$1 [L]
RewriteRule ^messages/?$ messages.php [L]
アップデート:
URL を/messages/process/trash
一般的に書き換えられるようにするには、次のルールの直後にルールが必要です。
RewriteRule ^messages/process/([a-zA-Z_-]+)/([0-9]+)/?$ messages-process.php?do=$1&id=$2 [L]
# Match stuff after /process/whatever which are not followed by digits (which the previous rule matches)
RewriteRule ^messages/process/([a-zA-Z_-]+)(?:/[^0-9]+/?)$ messages-proces.php [L]