2012-02-02 22 views
12

Tengo una estructura llamada /pdf/ donde se almacenan los archivos PDF generados. Estoy intentando utilizar .htaccess para enrutar a los visitantes a la carpeta PDF..htaccess para PDF URL

que tienen esta regla en mi archivo .htaccess:

RewriteEngine On 
RewriteBase/
RewriteRule (.*) index.php?page=$1.html 
RewriteRule ??? for pdf?? 

(Tenga en cuenta las marcas de ??? ...)

Cuando intento acceder a la url /manual_chap_1 que está trabajando. Pero cuando intento /pdf/manual_chap_1 parece que no funciona. Aquí hay alguna salida que veo:

$_GET[page] => index.php.html

Quiero ser capaz de generar el archivo PDF, si el archivo PDF no existe en la ubicación solicitada, y luego, quiero que se cargue una página HTML .

Respuesta

12

Bienvenido a StackOverflow, intente esto:

RewriteEngine On 
RewriteBase/

RewriteRule ^pdf/([a-z0-9\-_\.]+)$ pdf.php?file=$1 [L,NC,QSA] 

RewriteCond %{REQUEST_URI} !^/pdf 
RewriteRule ^([a-z0-9\-_\.]+)/?$ index.php?page=$1.html [L,NC,QSA] 

L: El [L] indicador hace mod_rewrite para dejar de procesar el conjunto de reglas. En la mayoría de los contextos, esto significa que si la regla coincide, no se procesarán más reglas. Esto corresponde al último comando en Perl, o al comando break en C. Use este indicador para indicar que la regla actual debe aplicarse inmediatamente sin considerar otras reglas.

QSA: Cuando el URI de reemplazo contiene una cadena de consulta, el comportamiento predeterminado de RewriteRule es descartar la cadena de consulta existente y reemplazarla por la cadena recién creada. El uso del indicador [QSA] hace que las cadenas de consulta se combinen.

NC: El uso del indicador [NC] hace coincidir el RewriteRule de manera que no distingue entre mayúsculas y minúsculas. Es decir, no importa si las letras aparecen como mayúsculas o minúsculas en el URI coincidente.

Además, yo recomendaría utilizar guiones en lugar de subrayado.

+0

muchos muchos muchos gracias – Maggie

+0

son bienvenidos –

Cuestiones relacionadas