• Publicidad

Eliminar una regla de mod_rewrite

Todo lo relacionado con lenguajes de programación distintos de Perl: PHP, Java, C++, Ruby, Python, etc.

Eliminar una regla de mod_rewrite

Notapor danimera » 2011-04-08 14:37 @650

Tengo este archivo .htaccess como sea

Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
  1. # enable apache morRewrite module #
  2. RewriteEngine on
  3.  
  4. RewriteBase /
  5.  
  6. RewriteCond %{REQUEST_FILENAME} !-d
  7. RewriteCond %{REQUEST_FILENAME} !-f
  8.  
  9.  
  10. # define system languages
  11. RewriteRule ^([^//]+)/?(.{2})?/$ index.php?page=$1 [QSA,L]
  12.  
  13. # define paging
  14. RewriteRule ^([^//]+)/?(.*)?/index([0-9]*).ht(m?ml?)$ index.php?page=$1&rlVareables=$2&pg=$3 [QSA,L]
  15.  
  16. # define listing
  17. RewriteRule ^([^//]+)/(.*)-l([0-9]*).ht(m?ml?)$ index.php?page=$1&rlVareables=$2&listing_id=$3 [QSA,L]
  18.  
  19. # define single pages
  20. RewriteRule ^([^//]+)/?(^/*)?.ht(m?ml?)$ index.php?page=$1 [QSA,L]
  21.  
  22. # define other pages
  23. RewriteRule ^([^//]+)/?(.*)?/?(.*)?(.ht(m?ml?)|/+)$ index.php?page=$1&rlVareables=$2 [QSA,L]
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


Pero tengo un fichero app.pl dentro del directorio mobil, pero no logro que se me ejecute por esas reglas...

Intenté
Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
# movil APP
RewriteRule ^mobil/app.pl mobil/app.pl [L,NC]
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


Y aun así no lo logro :?

Lo más curioso es que si intento entrar por

http://www.misitio.com/mobil/index.php

sí me carga el archivo PHP que tengo ahí.
100% Telch - Perl Web Programming
Cali PerlMongers: http://cali.pm.org
Avatar de Usuario
danimera
Perlero frecuente
Perlero frecuente
 
Mensajes: 871
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia

Publicidad

Re: Eliminar una regla de mod_rewrite

Notapor explorer » 2011-04-08 19:08 @839

Me parece que no hay ninguna regla que concuerde con app.pl...

¿Qué problema hay en colocar app.pl en un directorio cgi-bin de ese dominio? O incluso, se podría poner como ejecutable y activar la opción +ExecCGI en ese directorio, para que el servidor web lo ejecutara.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Eliminar una regla de mod_rewrite

Notapor danimera » 2011-04-09 17:56 @789

Bueno, hice una corrección a la regla.

Hice otro archivo en la carpeta mobil... realmente será llamada desde un subdominio http://www.mobil.pagina.com

Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
  1. # enable apache morRewrite module #
  2. RewriteEngine on
  3.  
  4. # movil APP
  5. RewriteRule ^mobil index.php [L,NC]
  6.  
  7. RewriteRule ^app app.pl [L,NC]
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


Ahí sí me funciona... pero ¿será que me toca por cada archivo entonces hacer una regla para esta carpeta ? :?
100% Telch - Perl Web Programming
Cali PerlMongers: http://cali.pm.org
Avatar de Usuario
danimera
Perlero frecuente
Perlero frecuente
 
Mensajes: 871
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia

Re: Eliminar una regla de mod_rewrite

Notapor explorer » 2011-04-10 12:07 @546

danimera escribiste:¿será que me toca por cada archivo entonces hacer una regla para esta carpeta?

No entiendo la pregunta... si se trata de procesar las peticiones para un subdirectorio, debería bastar con solo una regla.

¿A qué archivos te refieres? ¿A los de .htaccess?

Si colocas las reglas para el mod_rewrite en el httpd.conf, o apache2.conf, o, algo más normal: en el fichero de definiciones del dominio virtual, solo tendrás que hacerlo una vez.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Eliminar una regla de mod_rewrite

Notapor danimera » 2011-04-10 14:44 @655

Lo que no quiero es mod_rewrite para la carpeta mobil... No quiero procesar ninguna regla ni nada, poder acceder a los archivo dentro de esta carpeta... y los archivos son los ficheros html o .pl que tenga ahí.
100% Telch - Perl Web Programming
Cali PerlMongers: http://cali.pm.org
Avatar de Usuario
danimera
Perlero frecuente
Perlero frecuente
 
Mensajes: 871
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia

Re: Eliminar una regla de mod_rewrite

Notapor explorer » 2011-04-11 09:40 @445

Si la carpeta mobil/ está colgando del directorio del dominio, no habría que hacer nada para que el servidor web encontrara y sirviera los ficheros que hay dentro de ella (y siempre y cuando los permisos de lectura y ejecución de la carpeta fueran correctos).

Otra cosa son los ficheros .pl.

Al servidor web se le puede indicar de varias maneras que, en vez de entregar los contenidos de los ficheros Perl, los ejecute con el protocolo CGI.

Por ejemplo, una configuración típica con el servidor web, sería:
Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
AddHandler cgi-script .cgi .sh .pl .ida

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
ScriptAlias /cgi/     /usr/lib/cgi-bin/

<Directory /usr/lib/cgi-bin/>
    AllowOverride None
    Options ExecCGI FollowSymLinks -MultiViews +SymLinksIfOwnerMatch
    Order allow,deny
    Allow from all
</Directory>

<Directory /home/*/public_html/cgi-bin>
        AllowOverride Options
        Options +ExecCGI
        SetHandler cgi-script
</Directory>
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4
Aquí, definimos que ciertas extensiones deben ser interpretadas como correspondientes a programas CGI (AddHandler). O que todo fichero que esté dentro de un directorio ScriptAlias debe también ser considerado así. Y las dos marcas Directory indican las condiciones que queremos aplicar a dos directorios: el /usr/lib/cgi-bin del sistema, y las carpetas cgi-bin/ de cada usuario. Lo principal es marcar en ellas la opción +ExecCGI, para indicar que ahí queremos que se ejecuten los programas, en lugar de volcar sus contenidos.

El orden de ejecución de estas directivas es el siguiente:
* Primero, se permite la ejecución de cgi que estén en el directorio indicado por ScriptAlias
* Luego, si los cgi que queremos ejecutar están fuera de esos directorios, debemos hacer dos pasos:
a) Con AddHandler indicamos la extensión de los cgi
b) Con Options, activamos la opción +ExecCGI en el directorio donde van a estar.

Es decir, con solo la primera opción (ScriptAlias) te vale para definir dónde quieres que residan los cgi.

Y ya está. Un paso de seguridad adicional sería usar el módulo SuExec del Apache. Hay que dar una serie de pasos más en la configuración (usar el módulo UserDir, la URL debe tener un '~' delante del usuario, los cgi deben tener como propietario y grupo al propietario del sitio web, permisos adecuados de lectura y ejecución, etc), pero eso nos da como resultado que el cgi se ejecuta con la personalidad del propietario del sitio, reduciendo mucho los problemas de seguridad.

Más información en el Apache Tutorial: Dynamic Content with CGI.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Programación en general

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 4 invitados