I have a question about a RewriteRule with .htaccess without 301.
Below my directory structure:
-root
--public
--app
In the root directory I have a directory public and app.
In the directory public I have an index.php file.
In the root directory I have a .htaccess file and I want all traffic to got to the index.php file in the directory public.
What I have tried:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^/public/ [NC]
RewriteRule ^(.*)$ public/index.php?url=$1 [L,QSA]
The rewrite does nothing and I see the index from the directory
Who can help me?
CodePudding user response:
RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} ^/public/ [NC] RewriteRule ^(.*)$ public/index.php?url=$1 [L,QSA]
You need to remove the 3rd condition that checks if the requested URL-path starts /public/. Presumably, you are making a request for something like /foo, so this condition will prevent the rule from doing anything.
