I am wondering if I have the .htaccess conversion to OLS correct. I am getting a 404 error page when I try to load the website. Any insights are appreciated.
The website contains two .htaccess files:
- /vendor/phenx/php-font-lib/.htaccess
- ./.htaccess
The /vendor/phenx/php-font-lib/.htaccess has one rule in it and it is commented out so I just skipped the file.
The ./.htaccess contains the following information:
`# Prevent Directory Listing IndexIgnore * # Prevent Directory Listing Options -MultiViews -Indexes RewriteEngine On # Prevent Direct Access to Protected Files Order deny,allow Deny from all # Prevent Direct Access To Protected Folders RewriteRule ^(app|bootstrap|config|database|resources|routes|storage|tests)/(.*) / [L,R=301] # Prevent Direct Access To modules/vendor Folders Except Assets RewriteRule ^(modules|vendor)/(.*)\\.((?!ico|gif|jpg|jpeg|png|js|css|less|sass|font|woff|woff2|eot|ttf|svg).)*$ / [L,R=301] # Redirect Trailing Slashes If Not A Folder... RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)/$ /$1 [L,R=301] # Handle Front Controller... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] # Handle Authorization Header RewriteCond %{HTTP:Authorization} . RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] ` ``` I created a static context / with a directory of $DOC_ROOT:`context / { location $DOC_ROOT allowBrowse 1 autoIndex 0 rewrite { enable 1 # Prevent Direct Access To Protected Folders RewriteRule ^/(app|bootstrap|config|database|resources|routes|storage|tests)/(.*) / [L,R=301] # Prevent Direct Access To modules/vendor Folders Except Assets RewriteRule ^/(modules|vendor)/(.*)\\.((?!ico|gif|jpg|jpeg|png|js|css|less|sass|font|woff|woff2|eot|ttf|svg).)*$ / [L,R=301] # Redirect Trailing Slashes If Not A Folder... RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^/(.*)/$ /$1 [L,R=301] # Handle Front Controller... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^/ index.php [L] # Handle Authorization Header RewriteCond %{HTTP:Authorization} . RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] } addDefaultCharset off }` ``` To take care of the FilesMatch I created another static context with a regular expression:`context /(?i)(^artisan$|.env|.log) { location $DOC_ROOT allowBrowse 0 addDefaultCharset off }` ``` All of the options are taking care of except -MultiViews. Since OLS does not support MultViews, there is nothing for me to do.