Nie jestem jeszcze zaznajomiony z konfigurowaniem mojego .htaccess, więc proszę, pomóż mi.
Mam link do indeksu.php, ale nie chcę aby index.php pojawił się w moim adresie URL
eg.
http://localhost/website/index.php
Chcę, aby został przekierowany do folderu głównego, który jest
http://localhost/website/
Próbowałem więc szukać odpowiedzi i to jest to, co do tej pory osiągnąłem.
RewriteEngine on
Options +FollowSymLinks
RewriteCond %{THE_REQUEST} ^.*/index.php
RewriteRule ^(.*)index.php$ http://localhost/website/$1 [R=301,L]
Teraz, gdy próbuję kliknąć na stronie domowej w mojej lokalnej witrynie, zamiast przekierowywać mnie do
http://localhost/website
jest przekierowywany na to -
http://localhost/Applications/XAMPP/xamppfiles/htdocs/website/localhost/website/
Czy ktoś może wyjaśnić, co się dzieje?
Odpowiedzi:
0 dla odpowiedzi № 1czy próbowałeś tego
RewriteRule ^(.*)$ /index.php/$1 [L]
0 dla odpowiedzi nr 2
Zmiany wprowadzone przeze mnie .htaccess nie odniosą skutku od razu po odświeżeniu strony. Trochę czasu zajęło mi wyczyszczenie pamięci podręcznej, aby zobaczyć efekt. Próbowałem różnych podejść do mojego pytania:
Options +FollowSymLinks
RewriteEngine on
#RewriteCond %{THE_REQUEST} ^.*/index.php
#RewriteRule ^(.*)index.php$ http://localhost/website/$1 [R=301,L]
#RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /?(.*)/index.php
#RewriteRule ^ /%1 [L,R=301]
#RewriteRule ^(.*)$ /index.php/$1 [L]
Linie z # nie rozwiązały mojego problemuponieważ pamięć podręczna nie została wyczyszczona, ale tak czy owak ta linia poniżej rozwiązała mój problem, ale zabrała mnie 5 razy, aby wyczyścić pamięć podręczną, zanim faktycznie zobaczyłem wynik.
RewriteRule ^index.php(.*)$ http://localhost/website/$1 [R=301,NC]
Dostałem to generator htaccess