2010-05-22 5 views
10

Cuando la solicitud POST se envía a "http://domain.com/directory/", no se reciben los datos POST. Pero si se envía a "http://domain.com/directory/index.php", se recibe.PHP no recibirá solicitudes POST en/directory/only at /directory/index.php

¿Cómo puedo hacer que funcione cuando solo se llama al directorio? ¡Gracias!

+3

No hay ninguna razón por la que no recibiría el POST en esa solicitud, lo único que se me ocurre es una posible redirección, tal vez si ha configurado algunos archivos funky .htaccess .. –

+5

Si abre "http : //domain.com/directory/ "en una ventana del navegador, ¿ve contenido en esa dirección, muestra un mensaje de error o cambia la dirección del navegador a" http://domain.com/directory/index. php "? –

+5

Otra posible fuente de redirección es usar "/ directorio" en lugar de "/ directorio /". Olvidar la barra inclinada final también puede desencadenar una redirección. – janmoesen

Respuesta

4

¿Ha intentado utilizar una herramienta como HttpFox para Firefox para ver si cuando realiza una solicitud al directorio por su cuenta, se le redirige? Sé que una redirección puede matar una solicitud POST, ya que se convierte en una solicitud GET.

4

Como dijo Lucanos, ¿está redirigiendo el servidor web al index.php? Los datos POST pueden "perderse" entre páginas si lo redirecciona. Pruebe GET y verifique si la URL finaliza con los datos correctos.

6

Si está ejecutando Apache, verifique si el módulo mod_dir está habilitado y configurado correctamente. Estos son los contenidos de mi dir.conf:

<IfModule mod_dir.c> 
    DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm 
</IfModule> 
+0

También estas reglas se pueden encontrar en .htaccess en/directory/ –

+1

Pero puedo ver index.php cuando acabo de acceder al directorio, ese no es el problema. Solo la publicación se pierde. – Lazlo

0

Si el directorio contiene index.html index.php alongwith, simplemente cambiar el nombre del archivo index.html demás borrar el archivo porque si se le da la ruta al directorio solamente, el index.html siempre se habilita independientemente de que index.php aún exista en el mismo directorio.

+0

No, no siempre, depende del orden de la configuración de DirectoryIndex en Apache –

3

Crear archivo ".htaccess" dentro/directorio/con este contenido

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 
RewriteRule ^.*$ index.php [NC,L] 

Narra servidor para enrutar todo el pedido de que físicamente no son posibles (ya que no existen archivo o carpeta para esa solicitud) para indexar. php, la ventaja de esto es que tus archivos .css .js, .jpg no se enrutarán a index.php.

+0

Esto es perfecto y lo que funcionó para mí. – KyleT

+0

Intenté esto pero no funcionó :( –

Cuestiones relacionadas