Wszystko co potrzebuję żeby ogarniał to:
- przekierowanie z http na https
- przekierowanie z bez www na www
- przekierowanie z index na bez index
- przekierowanie z rozszerzeniem na bez rozszerzenia
- przekierowanie błędu 404
Mój plik wygląda następująco
ErrorDocument 404 /404 RewriteEngine On #RewriteCond %{REQUEST_FILENAME} !-f #RewriteRule ^([^\.]+)$ $1.php [NC,L] RewriteCond %{REQUEST_FILENAME}.php -f RewriteRule ^(.+?)/?$ $1.php [L] RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] RewriteCond %{HTTP_HOST} ^(?!www\.)(.+) [NC] RewriteRule ^(.*) <a href="https://www.%1/$1" target="_blank">https://www.%1/$1</a> [R=301,NE,L] RewriteCond %{SERVER_PORT} ^443$ RewriteRule ^(.*/)?index\.php$ https://%{HTTP_HOST}/$1 [L,R=301] # Remove .php file extension with an external redirect RewriteCond %{ENV:REDIRECT_STATUS} ^$ RewriteRule ^(.*)\.php$ <a href="https://www.domena.com/$1" target="_blank">https://www.domena.com/$1</a> [R=302,L] # Append the .php extension with an internal rewrite RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^.])+$ $1.php [L]
I działało wszystko prócz usuwania rozszerzenia po dodaniu fragmentu
# Remove .php file extension with an external redirect RewriteCond %{ENV:REDIRECT_STATUS} ^$ RewriteRule ^(.*)\.php$ <a href="https://www.domena.com/$1" target="_blank">https://www.domena.com/$1</a> [R=302,L] # Append the .php extension with an internal rewrite RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^.])+$ $1.php [L]
usuwa rozszerzenie ale przestał działać 404 :-(
Będę wdzięczny za ewentualną pomoc.
Pozdrawiam i dziękuję za poświęcony czas