rewritecond redireccionar para ocultar modelo htaccess example ejemplos ejemplo configurar con carpeta basico php apache .htaccess xampp config

redireccionar - Archivos htaccess, php, incluye directorios y pesadilla de configuración XAMPP de Windows



ocultar carpeta url htaccess (6)

  1. ¿Por qué necesita cambiar el nombre de .htaccess a htaccess.txt?
  2. Intenta configurar el include_path usando set_include_path () y ver si eso ayuda (como un arreglo intermedio)
  3. Verificar qué php.ini usar a través de phpinfo ()

XAMPP hace que la configuración de una pila LAMP local para Windows sea muy fácil. Por lo tanto, es bastante decepcionante que habilitar archivos htaccess sea una pesadilla.

Mi problema:
Tengo una aplicación PHP que requiere apache / php para buscar un directorio / includes / dentro de la aplicación. Para hacer esto, los archivos htaccess deben estar permitidos en apache y el archivo htaccess debe especificar exactamente dónde se encuentra el directorio includes.

El problema es que no puedo obtener mi configuración de Apache para ver estos archivos htaccess. Tuve inconvenientes importantes al instalar esta aplicación en la universidad y obtener los administradores para ayudar con la configuración. Esto no debería ser tan difícil, pero por alguna razón no puedo hacer que apache juegue bien.

Esta es mi configuración:

c: / xampp
c: / xampp / htdocs
c: / xampp / apache / conf / httpd.conf - donde hice los cambios que figuran a continuación
c: / xampp / apache / bin / php.ini - donde los cambios en este archivo afectan la instalación de php
Es interesante observar que los cambios de c: / xampp / php / php.ini no significan nada: esta NO es la ini que afecta la instalación de php.

Las siguientes líneas son adiciones que he hecho al archivo httpd.conf

#AccessFileName .htaccess AccessFileName htaccess.txt # # The following lines prevent .htaccess and .htpasswd # files from being viewed by Web clients. # #<Files ~ "^/.ht"> <Files ~ "^htaccess/."> Order allow,deny Deny from all </Files> <Directory "c:/xampp/htdocs"> # # AllowOverride controls what directives may be placed in # .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride All # # Controls who can get stuff from this server. # Order allow,deny Allow from all </Directory>

El siguiente es todo el archivo htaccess contenido en: c: / xampp / htdocs / application / htaccess.txt

<Files ~ "/.inc$"> Order deny,allow Deny from all </Files> php_value default_charset "UTF-8" php_value include_path ".;c:/xampp/htdocs/application/includes" php_value register_globals 0 php_value magic_quotes_gpc 0 php_value magic_quotes_runtime 0 php_value magic_quotes_sybase 0 php_value session.use_cookies 1 php_value session.use_only_cookies 0 php_value session.use_trans_sid 1 php_value session.gc_maxlifetime 3600 php_value arg_separator.output "&amp;" php_value url_rewriter.tags "a=href,area=href,frame=src,input=src,fieldset="

El directorio incluye existe en la ubicación especificada.

Cuando intento acceder a la aplicación recibo el siguiente error:

Warning: require(include.general.inc) [function.require]: failed to open stream: No such file or directory in C:/xampp/htdocs/application/menu/logon.php on line 21

Error fatal: require () [function.require]: Falló la apertura requerida ''include.general.inc'' (include_path = ''. C: / xampp / php / pear / random'') en C: / xampp / htdocs / application / menú / logon.php en la línea 21

La ruta include c .. / random / se especifica en el archivo php.ini que se encuentra arriba. La instalación de xampp no ​​puede permitir otra ruta de inclusión como se especifica en el archivo htaccess.txt.

¡Por favor ayuda! Supongo que probablemente haya un error con httpd.conf O con el archivo htaccess.txt ... pero parece que no está leyendo el archivo htaccess. Intenté ser lo más minucioso posible, así que perdona la verborrea de la publicación.

Ahora sé que una solución podría ser simplemente agregar el include_path al archivo php, pero no voy a tener acceso al archivo php.ini en la ubicación donde planeo implementar mi aplicación. Sin embargo, podré solicitar que el administrador del servidor permita archivos htaccess.

Actualización: renombró htacces.txt a .htaccess y modificó las directivas apropiadas en el archivo httpd.conf y todo parece funcionar. La aplicación sugirió el nombramiento de htaccess.txt y las directivas ammended en el httpd. Estos son obviamente incorrectos (al menos para una pila xampp). Gracias por la ayuda.

Por cierto, usar ini_set () es una forma mucho más amigable si la aplicación necesita implementarse en varias ubicaciones, así que gracias especialmente por ese puntero.


Creo que la búsqueda que estás buscando es:

AllowOverride All

Supongo que dentro de xampp necesitas habilitar AllowOverride (a través de .htaccess) en httpd.conf. Es una medida de seguridad simple que evita que los novatos instalen una plataforma pirateable: P


Debe habilitar AllowOverride All en el archivo http.conf principal. Mira dentro de XAMPP_DIR / apache / conf / http.conf)


Mi htaccess funciona bien bajo XAMPP, aunque algunos módulos están deshabilitados de manera predeterminada, ¿está seguro de que los módulos que desea están habilitados?


Puede modificar el include_path en cada solicitud usando ini_set (). Esto evitaría tener que usar htaccess en absoluto.


Simplemente haz esto:

open file .../xampp/apache/conf/httpd.conf find line "LoadModule rewrite_module modules/mod_rewrite.so" if here is a # before this line remove it.(remove comment)

esta funcionando