¿Cómo escribo controladores mruby del servidor web h2o para WordPress multisitio?

3 minutos de lectura

avatar de usuario
rojoanimalguerra

Esto es lo que necesita Apache. me gusta saber cómo hago esto en h2o.

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]

// desperdició 300 reputación en esto por cierto.

  • ¿Leíste los comentarios en ese hilo de problemas? Las sugerencias parecen reescribirse usando mruby en lugar de h20

    – máximo placer

    10/09/2016 a las 17:53

  • @maxpleaner ¿Sabes leer? Vuelva a leer la pregunta. No hay “en lugar de”. Soy muy consciente de que tiene que escribir controladores complicados como este en mruby, por eso hago esta pregunta, porque no hablo ruby ​​ni mruby.

    – redanimalwar

    14 de septiembre de 2016 a las 8:49


  • ok, pero los mantenedores dijeron que no es posible.

    – máximo placer

    14/09/2016 a las 10:03

  • @maxpleaner ¿Qué? ¿Dónde? Realmente pareces tener problemas para entender. Seguro que es posible.

    – redanimalwar

    14/09/2016 a las 19:35

  • el segundo comentario en el hilo de problemas.

    – máximo placer

    14/09/2016 a las 21:57

Básicamente, su archivo Apache es demasiado para WordPress.

Esto debería hacer el truco en H2O:

hosts:
  "www.example.com":
    listen:
      port: 80
    paths:
      "https://stackoverflow.com/":
        file.dir: /path/to/doc-root   # serve static files if found
        redirect:                     # if not found, internally redirect to /index.php/<path>
          url: /index.php/
          internal: YES
          status: 307

file.custom-handler:                  # handle PHP scripts using php-cgi (FastCGI mode)
  extension: .php
  fastcgi.spawn: "PHP_FCGI_CHILDREN=10 exec /usr/bin/php-cgi"

access-log: /path/to/the/access-log
error-log: /path/to/the/error-log
pid-file: /path/to/the/pid-file
http2-reprioritize-blocking-assets: ON   # performance tuning option

Espero que esto ayude…

  • Creo que no entendiste mi pregunta. No pregunté sobre una configuración de servidor muy básica. Pregunté específicamente sobre reescribir las reglas. ¿Cómo está ayudando esto? También como nota al margen, no sé por qué la wiki de h2o muestra una configuración de PHP-CGI como una configuración de WordPress. Uso una configuración diferente para usar PHP-FPM. Para mí no tiene sentido usar un servidor de alto rendimiento para luego usar una solución PHP más lenta. AFAIK PHP-FPM es más rápido.

    – redanimalwar

    4 oct 2017 a las 13:52

  • “Básicamente, su archivo Apache es demasiado para WordPress”. En serio, si no tienes idea de lo que estás hablando, entonces no respondas las preguntas. pedí codigo mruby. De cualquier manera, WordPress nunca interpreta los archivos de configuración del servidor, por lo que su noción de “demasiado para WP” es una tontería total. Realmente me cuesta mucho tratar de entender cómo puedes dar una respuesta tan mala. ¿Crees que puse el código .htaccess en mí h2o.conf? ¿Y cree que la reescritura multisitio simplemente funciona como magia sin ninguna configuración? No intenté cambiar a FastCGI (use su configuración) porque estoy bastante seguro de que no tiene sentido

    – redanimalwar

    4 oct 2017 a las 14:10

¿Ha sido útil esta solución?