/page
のページにカスタムモジュールがあり、$_GET['id']
がそれを実行することを期待しています。
空のWebサイトで機能する.htaccess
書き換えルールを次に示します
RewriteRule category+/(.*)$ page.php?id=$1 [L]
Drupal 8の場合、行は
RewriteRule category+/(.*)$ page?id=$1 [L]
/category/5
にアクセスすると404エラーが表示されます
ページがサーバー上の有効なパスではないため、書き換えルールは機能しません。デフォルトではDrupalはすべてのリクエストをindex.phpに書き換えます。ページに書き換えると、Apacheはサーバー上のパスページを期待します。
これは、Drupalで実行しようとしていることを達成するための適切な方法ではありません。しかし、あなたはあなたがしようとしていることを以下で達成することができます
RewriteRule category+/(.*)$ page?id=$1 [R=301,L]
これは、category/5をpage?id = 5にリダイレクトし、$ _ GET ['id']で5を取得します
これらもチェックしてください
https://www.drupal.org/docs/user_guide/en/content-paths.html