Es algo como esto sea posible en Apache ... (es decir, redirigir a una URL externa con la ruta que causa el error 403 pasa a lo largo)Apache ErrorDocument redirección externa con variables
ErrorDocument 403 http://www.sample.com/{{REDIRECT_URL}}
Es algo como esto sea posible en Apache ... (es decir, redirigir a una URL externa con la ruta que causa el error 403 pasa a lo largo)Apache ErrorDocument redirección externa con variables
ErrorDocument 403 http://www.sample.com/{{REDIRECT_URL}}
supongo que es posible, ya el doc decir .. http://httpd.apache.org/docs/2.0/mod/core.html#errordocument
Tal vez así:
ErrorDocument 403 http://www.sample.com/?do=somthing
Eso no agrega la URL solicitada ... Pensé que estaba claro en mi pregunta. – Pykler
puedo crear/Directo publicación ry, pero quiero que esto sea servido por index.php principal donde hay un archivo en este directorio.
/Publication? Page = 1 será atendido por /index.php, /Publication/file.pdf es un archivo que reside en este mismo directorio.
Apache returend 403 error desde/El directorio de publicación no tiene permiso para figurar en la lista. Cuando se redirige el error 403 a /index.php no se pueden capturar las variables. Creo que se puede usar la variable REDIRECT_QUERY_STRING, pero eso afectaría mis clases de php.
Cambié la configuración de mod_rewrite para detectar la publicación del directorio, vea '#', eliminé la directiva ErrorDocument 403, ya que no es necesario.
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
# RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^(.*)$ index.php?path=$1 [L,QSA]
</IfModule>
Lo que tengo opción de configuración
/Publication > /index.php?path=Publication
/Publication/?page=1 > /index.php?path=Publication&page=1
/Publication/file.pdf > /Publication/file.pdf
¿Dónde está tu '.htaccess'? ¿Está dentro del directorio '/ Publication'? Si es así, ¿tiene 'DirectorySlash Off' en algún lugar de su' .htaccess'? De lo contrario, ¿cómo se puede decir que '/ Publication> /index.php?path = Publication' cuando por defecto Apache redireccionará '/ Publication' a'/Publication/'si' DirectorySlash On' está configurado y luego reescribirá las reglas reescribirá '/ Publication /> /index.php? path = Publication /'. Te lo pregunto solo porque tengo curiosidad acerca de tu configuración y me gustaría asignar digamos '/ Publication' directamente a' /index.php? Path = Publication' sin dejar que Apache redirija a '/ Publication /'. – tonix
ErrorDocument
, desafortunadamente, no es compatible expansión variables de servidor. Lo que puede intentar es usar script local, que emitirá un redireccionamiento para usted.
ErrorDocument 403 /cgi-bin/error.cgi
Tenga en cuenta, que el guión tiene que ser local, de lo contrario no obtendrá REDIRECT_*
variables pasadas. Y en el mismo script puede emitir la declaración de redirección:
#!/usr/bin/perl
my $redirect_status = $ENV{'REDIRECT_STATUS'} || '';
my $redirect_url = $ENV{'REDIRECT_URL'} || '';
if($redirect_status == 403) {
printf("Location: http://%s%s\n", 'www.sample.com', $redirect_url);
printf("Status: %d\n", 302);
}
print "\n";
documentación Ver Apache para más ideas http://httpd.apache.org/docs/2.4/custom-error.html
Sí! Pero sólo a partir de Apache 2.4.13:
Desde 2.4.13, la sintaxis de la expresión se puede utilizar dentro de la directiva para producir cuerdas dinámicas y URL.
(de https://httpd.apache.org/docs/2.4/mod/core.html#errordocument)
La siguiente configuración resultará en una respuesta HTTP 302:
ErrorDocument 403 http://www.example.com%{REQUEST_URI}
Nota la falta de una barra porque %{REQUEST_URI}
comienza con una barra.
Donde {{REDIRECT_URL}} es la URL solicitada. – Pykler