Dobry wieczór, mam problem z plikiem .htaccess i byłbym wdzięczny za okazaną pomoc.
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