2012-04-05 6 views
12

Estoy tratando de ajustar mi archivo de htacess para omitir la regla de reescritura si el archivo o directorio existe, pero cuando el archivo existe, cambia la URL a algo diferente. No sé por qué sucede esto. Aquí está mi archivo .htaccess: existeRewriteCond para saltear la regla si existe un archivo o directorio

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-f [OR] 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^project/([^/\.]+)/?$ index.php?view=project&project=$1 [L] 
RewriteRule ^for/content/ag index.php?view=opening&section=ag [L] 
RewriteRule ^for/content/bus index.php?view=opening&section=bus [L] 
RewriteRule ^for/content/fcs index.php?view=opening&section=fcs [L] 
RewriteRule ^for/content/market index.php?view=opening&section=market [L] 
RewriteRule ^for/content/trade index.php?view=opening&section=trade [L] 
RewriteRule ^for/content/teched index.php?view=opening&section=teched [L] 
RewriteRule ^for/content/([^/\.]+)/?$ index.php?view=content_area&section=$1 [L] 

El directorio/proyecto/NTI, con un archivo index.php. Cuando se ingresa la dirección mywebsite.com/folder/project/nti, cambia a mywebsite.com/folder/project/nti/?view=project & project = nti. Estoy aplicando esto en un servidor de prueba donde el sitio de muestra está en una subcarpeta, pero cuando se implementa, estará en la carpeta del servidor web raíz.

¡Gracias por cualquier ayuda!

Respuesta

25

Quitar adicional [OR] y tener su código como este:

# If the request is not for a valid directory 
RewriteCond %{REQUEST_FILENAME} !-d 
# If the request is not for a valid file 
RewriteCond %{REQUEST_FILENAME} !-f 
# If the request is not for a valid link 
RewriteCond %{REQUEST_FILENAME} !-l 
RewriteRule ^project/([^/.]+)/?$ index.php?view=project&project=$1 [L,NC,QSA] 
Cuestiones relacionadas