Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Ładne i przyjazne url'e
Forum PHP.pl > Forum > Przedszkole
Kloc
Siemanko, mam problem, gdyż czytam i nic nie rozumiem. Chcę zrobić ładne linki na mojej stronie oto przykład:
Mam tak: http://moja_strona.pl/index.php
A chcę uzyskać taki efekt: http://moja_strona.pl/index
Jak widać znikła końcówka .php biggrin.gif Jak można to zrobić w najprostszy, a zarazem najlepszy sposób?
trueblue
W .htaccess:
  1. RewriteCond %{REQUEST_URI} ^/([a-z]+)$
  2. RewriteRule .* /%1.php [R=301]

W wewnętrznych linkach strony należy usunąć ".php".
Przekierowuje wszystkie adresy o budowie: "/znak(i) od a do z".
Kloc
Chym, utworzyłem sobie nowy plik w katalogu strona o nazwie plik.php. Do htaccess dodałem tą regułkę, odświeżam i nic. Adres dalej z .php :/
A po za tym na xampie nie wiem, do którego htaccess to wkleić, bo jest ich tam kilka.
untorched
Cytat(Kloc @ 22.03.2015, 14:03:10 ) *
A po za tym na xampie nie wiem, do którego htaccess to wkleić, bo jest ich tam kilka.


Nie będę trolem, ale o czym ty do cholery mówisz? Plik .htaccess z folderu który jest "głównym".

Przykład:

http://localhost/ ==> C:\xampp\htdocs

To pakujesz do C:\xampp\htdocs\.htaccess

Analogicznie dla innej ścieżki lub jeśli skrypt jest w jakimś folderze w katalogu głównym.

PS: Pamiętaj o ustawieniach AllowOverride All oraz włączonym rewrite
Kloc
Tych .htaccess jet kilka:


Nawet takowy plik sobie utworzyłem w htdocs. A tam mam katalog "strona", a w niej plik.php.
tomek200
Plik .htaccess musi być w folderze E:\Xampp\htdocs\strona\.htaccess
A reszta jak powyżej.
Kloc
A więc stworzyłem plik .htaccess w tym oto folderze, i nic.

.htaccess
Kod
RewriteCond %{REQUEST_URI} ^/([a-z]+)$
RewriteRule .* /%1.php [R=301]


Cytat(untorched @ 22.03.2015, 14:08:53 ) *
PS: Pamiętaj o ustawieniach AllowOverride All oraz włączonym rewrite


Jak to sprawdzić/ustawić/włączyć?
com
http://stackoverflow.com/questions/1874041...lowoverride-all
RewriteEngine On

Co to znaczy nic? co Ci pokazuje jak wejdziesz na adres http://moja_strona.pl/index ?
Kloc
Po wejściu na http://moja_strona.pl/index wyrzuca error, że nie ma takiej strony. Zmieniłem plik .htaccess, wygląda on teraz tak:

Kod
<Directory>
        AllowOverride All
</Directory>

RewriteCond %{REQUEST_URI} ^/([a-z]+)$
RewriteRule .* /%1.php [R=301]


I teraz po wejściu na /index lub /index.php wyrzuca error 500 i błąd serwera biggrin.gif
fklar
Dodałeś

Kod
RewriteEngine On


?
Kloc
Tak dodawałem i to samo.
fklar
Kod
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ $1.php [L]
Kloc
Dzięki wielkie @fklar, wszystko gra i bucy, tylko jak zablokować dostęp do stron z .php, bo teraz otwierają się te z rozszerzeniem i bez? biggrin.gif
Aqu
  1. RewriteRule ^(.*)$ $1.php [L]

Analogicznie do tego. wink.gif Przekieruj wszystkie wejścia na pliki .php na ten nowy url.
Kloc
Można przykład, bo to nie dla mnie dział? wink.gif
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.