Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [inne]Problem z plikiem htaccess
Forum PHP.pl > Forum > Przedszkole
peb
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
  1. ErrorDocument 404 /404
  2. RewriteEngine On
  3. #RewriteCond %{REQUEST_FILENAME} !-f
  4. #RewriteRule ^([^\.]+)$ $1.php [NC,L]
  5.  
  6. RewriteCond %{REQUEST_FILENAME}.php -f
  7. RewriteRule ^(.+?)/?$ $1.php [L]
  8.  
  9. RewriteCond %{HTTPS} off
  10. RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
  11.  
  12. RewriteCond %{HTTP_HOST} ^(?!www\.)(.+) [NC]
  13. RewriteRule ^(.*) <a href="https://www.%1/$1" target="_blank">https://www.%1/$1</a> [R=301,NE,L]
  14.  
  15. RewriteCond %{SERVER_PORT} ^443$
  16. RewriteRule ^(.*/)?index\.php$ https://%{HTTP_HOST}/$1 [L,R=301]
  17.  
  18. # Remove .php file extension with an external redirect
  19. RewriteCond %{ENV:REDIRECT_STATUS} ^$
  20. RewriteRule ^(.*)\.php$ <a href="https://www.domena.com/$1" target="_blank">https://www.domena.com/$1</a> [R=302,L]
  21.  
  22. # Append the .php extension with an internal rewrite
  23. RewriteCond %{REQUEST_FILENAME} !-f
  24. RewriteCond %{REQUEST_FILENAME} !-d
  25. RewriteRule ^([^.])+$ $1.php [L]
  26.  

I działało wszystko prócz usuwania rozszerzenia po dodaniu fragmentu
  1. # Remove .php file extension with an external redirect
  2. RewriteCond %{ENV:REDIRECT_STATUS} ^$
  3. RewriteRule ^(.*)\.php$ <a href="https://www.domena.com/$1" target="_blank">https://www.domena.com/$1</a> [R=302,L]
  4.  
  5. # Append the .php extension with an internal rewrite
  6. RewriteCond %{REQUEST_FILENAME} !-f
  7. RewriteCond %{REQUEST_FILENAME} !-d
  8. 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
uziom
  1. RewriteEngine On
  2.  
  3. # przekierowanie z http na https
  4. RewriteCond %{HTTPS} off
  5. RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
  6.  
  7. # przekierowanie z bez www na www
  8. RewriteCond %{HTTP_HOST} ^example.com [NC]
  9. RewriteRule ^(.*)$ <a href="http://www.example.com/$1" target="_blank">http://www.example.com/$1</a> [L,R=301]
  10.  
  11. # przekierowanie z index na bez index
  12. RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s(.*/)?index(\.php)?(\?.*)?\sHTTP/.+
  13. RewriteRule ^(.*)index(\.php)?$ /$1 [R=301,L]
  14.  
  15. # przekierowanie z rozszerzeniem na bez rozszerzenia
  16. RewriteCond %{REQUEST_FILENAME} !-d
  17. RewriteCond %{REQUEST_FILENAME}\.php -f
  18. RewriteRule ^(.*)/$ /$1.php [L]
  19.  
  20. # przekierowanie błędu 404
  21. ErrorDocument 404 /404.php
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.