¿Cómo redirigir las URL en función de la cadena de consulta?

Logré migrar masivamente un sitio de WordPress a Drupal. Desafortunadamente en WordPress, las URL de contenido eran algo así como www.example.org/?p=123. Mi dominio sigue siendo el mismo, pero quiero hacer una redirección a través de htaccess ya que Drupal no permitirá que las URL sean www.example.org/?p=123. En otras palabras, el contenido no tiene la misma URL que en WordPress. Por ejemplo, la nueva URL de Drupal sería algo así como www.example.org/content/MyNewPage

Intenté esto en mi archivo .htaccess y no funciona

 Redirect 301 /\?p=375 http://www.example.org/content/MyNewPage 

Así que probé la siguiente, pero tampoco funciona.

 Redirect 301 /\?p\=375 http://www.example.org/content/MyNewPage 

Solo como una prueba, probé la siguiente y funcionó.

 Redirect 301 http://www.example.org http://www.google.com 

Me aseguré de que mi regla de redirección esté en la parte superior de la lista en mi .htaccess, por lo que se evaluará primero. ¿Cómo puedo solucionar esto?

ni Redirect ni RedirectMatch le permiten especificar una cadena de consulta para la fuente de redireccionamiento. [Fuente]

Debe usar mod-rewrite para redirigir en función de la cadena de consulta:

 RewriteCond %{QUERY_STRING} ^p=375$ RewriteRule (.*) http://www.example.org/content/MyNewPage? [R=301,L] 

Puede considerar usar ModRewrite en su htaccess

  RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{QUERY_STRING} ^p=345$ [NC] RewriteRule index.php content/MyNewPage [NC,L,R=301]  

Y también es posible que desee pasar la identificación de la página anterior a la nueva URL concatenada (¿o tal vez por QS?):

  RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{QUERY_STRING} ^p=(.*)$ [NC] RewriteRule index.php content/MyNewPage-%1 [NC,L,R=301]