Przekierowanie ze starych linków na te bez końcówki .php

0

Przerobiłem właśnie stronę ze zwykłych plików z końcówką .php na strony z przechowaną nazwą w bazie. Ponieważ nazwy teraz nie mają końcówek, potrzebuje zrobić przekierowania.
np.
domena/kategoria/costam.php na domena/kategoria/costam/

Przeszukałem sieć jak tylko mogłem i żadne rozwiązania mi nie pomogły ; /. Jedynie coś takiego dało mi jakikolwiek efekt.

Redirect 301 domena/kategoria/costam.php domena/kategoria/costam/

Problem jednak polega na tym że musiałbym każdą stronę osobno przekierowywać. Jak to zrobić masowo?

mój .htaccess wygląda tak

 RewriteEngine On
RewriteBase /katalog/
RewriteCond %{REQUEST_URI} \.php$
RewriteRule ^([a-zA-Z0-9-/.,]+)$ index.php?page=$1 [L]

RewriteCond %{REQUEST_URI} [^/]$
RewriteRule ^([^.]+)$ $1/ [R=301,L]

RewriteRule ^([^.]+)/$ index.php?page=$1 [L]
0

Nie rozumiem po co ci rewrite w tym przypadku w ogóle. Skoro wszystko w htaccess przekierowujesz do pliku index.php to w nim sprawdzaj czy strona istnieje (jesli nie to 404) i jak istnieje to includem zaciagasz ten plik i generujesz content. nic nie musisz przekierowywac.

0

Ja dokładnie taki cms zrobiłem, tylko pytanie co ze starymi linkami, jeżeli ja chcę nowe?
Próbowałem usunąć .php z pobieranego wpisu i wyszukać w bazie odpowiedniego artykułu, ale nic to nie dało.

0

Więc tak, nie rozumiem jednej rzeczy.

Tworze sobie stronę, której nazwę przechowuje w bazie np. home.html.

Stworzyłem coś takiego że, jak wpisuje domena.pl/home.html to home.html jest zapisane w zmiennej, działa to za pomocą poniższego kodu w .htaccess

RewriteCond %{REQUEST_URI} \.html$
RewriteRule ^([a-zA-Z0-9-/.,]+)$ index.php?page=$1 [L

]

Następnie wyszukuje pobraną zmienną home.html i jeżeli istnieje pobiera odpowiednie paramaterty. Krótko mówiąc jest wszystko ok. Strona się wyświetla prawidłowo.

Mamjednak przypadek że nie chcę mieć końcówki .html a.php, więc odpowiednio w kodzie pozmieniałem a linijkę w .htaccess z

RewriteCond %{REQUEST_URI} \.html$

zmieniłem na:

RewriteCond %{REQUEST_URI} \.php$

I wszystko było by dobrze gdyby nie fakt że gdy pobieram zmienną page, wyświetla mi się zamiast home.php to index.php.

Co mogę zrobić? ; /

0

a w index.php ladujesz zawartosc home.php do wyswietlenia??

1 użytkowników online, w tym zalogowanych: 0, gości: 1