.htaccess stop internal redirection

First of all, this is my directory structure.

/localhost/p/ .htaccess /localhost/p/inc/ style.css 

I have this snippet at /localhost/p/.htaccess

 Options -MultiViews +FollowSymLinks RewriteEngine On RewriteBase /p/ RewriteCond %{REQUEST_FILENAME} ^(.+)/([^/]+)$ RewriteCond %1/inc/%2 -f RewriteRule ([^/]+)$ inc/$1 [L] RewriteRule ^(.+)$ index.php [QSA,L] 

This will not allow me to access the file in localhost/p/style.css , but it will allow me to access index.php

here is log

 [perdir D:/p/] strip per-dir prefix: D:/p/style.css -> style.css [perdir D:/p/] applying pattern '([^/]+)$' to uri 'style.css' [perdir D:/p/] RewriteCond: input='D:/p/style.css' pattern='^(.+)/([^/]+)$' => matched [perdir D:/p/] RewriteCond: input='D:/p/inc/style.css' pattern='-f' => matched [perdir D:/p/] rewrite 'style.css' -> 'inc/style.css' [perdir D:/p/] add per-dir prefix: inc/style.css -> D:/p/inc/style.css // I don't know how to stop the .htaccess here, and just get the file // instead go with [INTERNAL REDIRECT] [perdir D:/p/] trying to replace prefix D:/p/ with /p/ strip matching prefix: D:/p/inc/style.css -> inc/style.css add subst prefix: inc/style.css -> /p/inc/style.css [perdir D:/p/] internal redirect with /p/inc/style.css [INTERNAL REDIRECT] [perdir D:/p/] strip per-dir prefix: D:/p/inc/style.css -> inc/style.css [perdir D:/p/] applying pattern '([^/]+)$' to uri 'inc/style.css' [perdir D:/p/] RewriteCond: input='D:/p/inc/style.css' pattern='^(.+)/([^/]+)$' => matched [perdir D:/p/] RewriteCond: input='D:/p/inc/inc/style.css' pattern='-f' => not-matched // Of course it will never match, it should be D:/p/inc/style.css ... ... ... 

Thank,

+2
redirect .htaccess mod-rewrite
May 30 '12 at 6:34 am
source share
1 answer

Use this RewriteCond to allow no more than 1 internal redirect:

 ## prevent looping from internal redirects RewriteCond %{ENV:REDIRECT_STATUS} !200 
+4
May 30 '12 at 15:08
source share



All Articles