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
Kod
RewriteCond %{REQUEST_URI} \.html$
RewriteRule ^([a-zA-Z0-9-/.,]+)$ index.php?page=$1 [L]
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.
Mam jednak przypadek że nie chcę mieć końcówki .html a.php, więc odpowiednio w kodzie pozmieniałem a linijkę w .htaccess z
Kod
RewriteCond %{REQUEST_URI} \.html$
zmieniłem na:
Kod
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. Przy końcówce .html nie było takich szopek ; (.
Co mogę zrobić? ; /
Cały htaccess:
Kod
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]
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]