rewriterule rewritecond rewritebase mod_rewrite htaccess ejemplos .htaccess mod-rewrite map switch-statement

.htaccess - rewritecond - Htaccess RewriteRule



rewriterule htaccess (1)

Necesita duplicar las 2 condiciones nuevamente. RewriteCond solo se aplican a RewriteRule inmediatamente siguiente, por lo que debe duplicar las condiciones si se van a aplicar a más de una regla:

RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^werknemer/([^/]+)/?$ werknemer/$1.php [L,QSA,NC] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^klanten/([^/]+)/?$ klanten/$1.php [L,QSA,NC]

Quizás también lo necesites para tu última regla:

RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} ^/(.*?)/?$ RewriteCond %{DOCUMENT_ROOT}/%1.php -f RewriteRule ^ /%1.php [L]

Eso verifica si existe una barra inclinada y eliminarla antes de ver si al agregar el php al final se genera un archivo existente.

Después de hacer esta pregunta Htaccess URLRewrite a otro mapa Eso funciona muy bien, pero ahora quiero agregar un ''mapa'' adicional, pero eso no funciona.

Mi archivo .htaccess ahora:

ErrorDocument 404 /v2/404.php ErrorDocument 404 /v2/505.php RewriteEngine on RewriteRule ^error/([^/]+)/?$ error.php?id=$1 [L,QSA,NC] RewriteRule ^email/([^/]+)/?$ email.php?id=$1 [L,QSA,NC] RewriteRule ^activate/([^/]+)/?$ activate.php?code=$1 [L,QSA,NC] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^werknemer/([^/]+)/?$ werknemer/$1.php [L,QSA,NC] RewriteRule ^klanten/([^/]+)/?$ klanten/$1.php [L,QSA,NC] RewriteCond %{REQUEST_FILENAME}.php -f RewriteRule ^(.*)$ $1.php [L]

Siempre el último no funciona, ahora RewriteRule ^ klanten / no funciona, y cuando lo hago RewriteRule ^ werknemer / after RewriteRule ^ klanten /, RewriteRule ^ klanten / works pero RewriteRule ^ werknemer / not.

¿Cómo arreglar esto?

¡Gracias! Wouter0100