Red de conocimiento del abogados - Respuesta jurídica de la empresa - Cómo configurar pseudoestático en nginx build DZ2.5 en phpStudy pero no tiene éxito

Cómo configurar pseudoestático en nginx build DZ2.5 en phpStudy pero no tiene éxito

Nginx (pronunciado igual que motor x) fue desarrollado por Igor Sysoev en lenguaje C para el sitio Rambler.ru, el segundo motor de búsqueda más visitado en Rusia, servidor proxy de correo electrónico (IMAP/POP3/SMTP). que publica su código fuente bajo una licencia similar a BSD y se distribuye bajo una licencia similar a BSD. Se caracteriza por ser pequeño y eficiente, ocupar menos memoria y tener fuertes capacidades de concurrencia. De hecho, las capacidades de concurrencia de Nginx funcionan mejor entre servidores web del mismo tipo. Los usuarios de sitios web de Nginx en China continental incluyen: Sina, NetEase, Taobao, Tencent, etc. La primera versión pública de Nginx 0.1.0 se lanzó el 4 de octubre de 2004. Conocido por su estabilidad, amplio conjunto de funciones, archivos de configuración de muestra y bajo consumo de recursos del sistema. El 1 de junio de 2011, se lanzó Nginx 1.0.4. De esto podemos ver los beneficios de utilizar la arquitectura LNMP.

En cuanto a la tecnología pseudoestática, se desarrolló originalmente después de la aparición de los lenguajes dinámicos para mejorar la comodidad del acceso de los usuarios y la facilidad de uso de las arañas de búsqueda. Los componentes pseudoestáticos incluyen ISAPI_Rewrite, IIRF de código abierto, etc. Sin embargo, la versión ISAPI_Rewrite Lite solo admite httpd.conf global y no admite httpd.ini distribuido. Solo la versión completa paga admite httpd.ini distribuido. Ahora sabemos que Nginx también puede implementar pseudoestático simple. Para obtener más información sobre pseudoestático, consulte

CI requiere un archivo de configuración .htaccess para ejecutarse en Apache y Nginx, y se requiere un archivo web.config en el servidor IIS. Podemos usar las reglas. en .htaccess para CI pseudoestático

RewriteEngine en

RewriteCond $1 !^(index\\.php|system\\.php|images|skin|js|ls. |swfupload|adjunto|aplicación|robots \\.txt)

RewriteRule ^(.*)$ /fx/index.php/$1 [L]

Nota: RewriteRule ^( .*)$ /webdir/index El webdir en .php/$1 [L] es el directorio de su programa CI

La configuración pseudoestática del servidor Nginx primero debe configurar nginx para abrir path_info (LNMP está habilitado de forma predeterminada )

, puede consultar El siguiente método proviene de ZK:

Supongamos que nuestro subdirectorio se llama zk

ubicación /zk/ {

raíz /var/www/html/;

index index.html index.htm index.php;

if ($request_filename !~* /giftbox/(javascript|css |imágenes|estilo|upimg|artDialog|fckeditor|archivos de usuario |crontab|robots\.txt|index\.php)) {

reescribir ^/(.*)$ /zk/index.php?$1 last;

}

root es la ruta del directorio raíz y no es necesario cambiarla.

Adjuntamos la regla pseudoestática para el directorio de inicio

#reescribir ^/$ /index.php al final;

#Lo siguiente es para evitar ciertos carpetas sean visitadas directamente

#rewrite ^/(?!index\.php|images|robots\.txt|js|css|upimg|artDialog|style)(.*)$ /index.php /$1 último;

Primero necesitas configurar nginx para habilitar path_info (lnmp tiene path_info habilitado de forma predeterminada)

Regla pseudoestática:

if ($ request_uri ~* ^/system)

p>

{

reescribir ^/(.*)$ /index.php?/$1 último;

romper;

}

if (!-e $request_filename)

{

reescribir ^/(.*)$ /index.php ?/$1 último;

break;

}

Muchas personas encontraron información en Internet de que nginx actualmente no admite archivos .htaccess para fines pseudoestáticos. También creo que no debería ser el caso. Nginx debería ser el servidor WEB más utilizable. Lo busqué en Google y encontré información de que nginx puede admitir completamente archivos .htaccess. Archivo de configuración pseudoestático para nginx No hay diferencia en el nombre, solo especifique la ruta correspondiente. Siga los siguientes pasos para pasos específicos:

1. Cree un nuevo archivo .htaccess e ingrese las reglas en él. , como:

# reescritura de regla de reescritura de nginx ^(.*?)/article/.*?-(\d )-(\d )\.html$ $1/show.html?id= $2amp página=$3 descanso; reescribir ^( .*?)/category/.*?-(\d )-(\d )\.html$ $1/list.html?id=$2amp; ; reescribir ^(.*?)/tag/ ([^/] )/?$ $1/tag.html?w=$2 break; lt; span id="more-1758"gt; (.*?)/tag/([^ /] )/(\d )$ $1/tag.html?w=$2amp; page=$3 break; # finaliza la regla de reescritura de nginx

Guarda el archivo y cárguelo en el directorio raíz del sitio web.

2. Modificar la configuración del host virtual

# ee /usr/local/etc/nginx/nginx.conf #freebsd 7.2 archivo de configuración de instalación predeterminado de nginx

Introduzca el archivo .htaccess en el bloque del servidor en la máquina virtual donde necesita agregar pseudoestático

incluya /usr/www/.htaccess #Cambie esto a la ubicación de su archivo .htaccess,

Guardar, salir y reiniciar nginx

# /usr/local/etc/rc.d/nginx restart

Actualizar y ver si funciona normalmente para probar su reescritura La sintaxis de la regla es correcta

Puede colocar las reglas de reescritura de nginx directamente en la configuración del host o en un archivo separado usando includeinru. Cuando guarde como un archivo separado, guárdelo en un archivo nuevo (nombre de archivo). Puede elegirlo arbitrariamente, pero se recomienda utilizar un nombre de archivo que comience con .ht (tenga en cuenta el "punto"), porque este servidor filtra el acceso externo a archivos que comienzan con .ht de forma predeterminada:

ubicación ~ /\ .ht {

denegar todo;

}

Configuración de htaccess de CI

Recientemente, de repente quiero eliminar index. php desde el enlace Busqué en línea y encontré muchas soluciones. Permítanme ordenarlas.

Los primeros son dos puntos de modificación básicos:

1. En httpd.conf, cambie todo AllowOverride. Ninguno Parece haber tres formas de permitir Anular todo y luego reiniciar Apache

2. Cambie $config['index_page'] = 'index.php' en config.php a $config['index_page'. '] = '';

Luego, de acuerdo con la configuración específica:

3.1 Si el sitio está ubicado directamente en el directorio raíz del servidor, como /www/, entonces la siguiente configuración funcionará:

RewriteEngine en

RewriteCond $1 !^(index\.php|robots|stafile|upload|\.txt)

RewriteRule ^(. *)$ /index.php/$1 [L]

3.2 Si se establece un alias, agregue RewriteBase/alias/

3.3 Si está ubicado en el directorio de segundo nivel en en el directorio raíz, modifique la regla de reescritura a:

RewriteEngine en

RewriteCond $1 !^(index\.php|robots|stafile|upload|\.txt)

ReescribirRegla ^(.*)$ /misitio/ index.php/$1 [L]