Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 
Índice general » Otros Temas » Programación en general » Eliminar una regla de mod_rewrite  RESUELTO Responder al tema
Nuevo tema


Página 1 de 1  [ 6 mensajes ] 
 
Nota 2011-04-08 14:37 @650
Avatar de Usuario
Vive para Perl en Español
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia
Mensajes: 551
Eliminar una regla de mod_rewrite
Tengo este archivo .htaccess como sea

Syntax: [ Download ] [ Hide ]
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]


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

Intenté
Syntax: [ Download ] [ Hide ]
Using text Syntax Highlighting
# movil APP
RewriteRule ^mobil/app.pl mobil/app.pl [L,NC]


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


Nota 2011-04-08 19:08 @839
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10250
Re: Eliminar una regla de mod_rewrite
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


Nota 2011-04-09 17:56 @789
Avatar de Usuario
Vive para Perl en Español
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia
Mensajes: 551
Re: Eliminar una regla de mod_rewrite
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

Syntax: [ Download ] [ Hide ]
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]


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


Nota 2011-04-10 12:07 @546
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10250
Re: Eliminar una regla de mod_rewrite
danimera escribió:
¿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


Nota 2011-04-10 14:44 @655
Avatar de Usuario
Vive para Perl en Español
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia
Mensajes: 551
Re: Eliminar una regla de mod_rewrite
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


Nota 2011-04-11 09:40 @445
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10250
Re: Eliminar una regla de mod_rewrite  RESUELTO
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:
Syntax: [ Download ] [ Hide ]
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>
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


Responder al tema  [ 6 mensajes ] 

Reglas del Foro
No puedes abrir nuevos temas en este Foro
No puedes responder a temas en este Foro
No puedes editar tus mensajes en este Foro
No puedes borrar tus mensajes en este Foro
No puedes enviar adjuntos en este Foro

Publicidad

Socializa

Síguenos por Twitter

Suscríbete GRATUITAMENTE al Boletín de Perl en Español

Saltar a:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Traducción al español por Huan Manwë para phpbb-es.com
phpBB SEO