Jak usunąć "index.php"
wystające elementy z każdej ścieżki w Codeigniter gdzieś w centrum? Chcę czysty non index.php-fied URLs
?
php
mod-rewrite
codeigniter
url-rewriting
OrangeRind
źródło
źródło
Odpowiedzi:
Jeśli używasz Apache, umieść plik .htaccess w swoim głównym katalogu internetowym, zawierający:
Tutaj znajduje się kolejna dobra wersja:
http://snipplr.com/view/5966/codeigniter-htaccess/
źródło
RewriteCond $1 !^\/(index\.php|assets|robots\.txt)
Miałem duże problemy z usunięciem pliku index.php. Zasadniczo poniższy .htaccess został przetestowany na kilku serwerach i ogólnie działa:
Jeśli nie masz z tym szczęścia, następnym krokiem jest dostosowanie pliku konfiguracyjnego. Wypróbuj inne protokoły URI, np
Jeśli nadal nie masz szczęścia, spróbuj zmienić regułę przepisywania, aby uwzględnić swój podfolder. Jest to często problem, jeśli używasz tymczasowego adresu URL na serwerze deweloperskim itp .:
Po prostu pobaw się tymi opcjami, powinno działać. Upewnij się również, że plik indeksu jest ustawiony na:
Powodzenia!
źródło
Umieść plik.htaccess w katalogu głównym aplikacji, razem z plikiem index.php. (Sprawdź, czy rozszerzenie htaccess jest poprawne, Bz htaccess.txt nie działa dla mnie.)
I dodaj poniższe reguły do pliku .htaccess,
Następnie znajdź następujący wiersz w swoim pliku application / config / config.php
Ustaw zmienną jako pustą, jak poniżej.
To wszystko, na mnie zadziałało.
Jeśli to dalej nie zadziała, spróbuj zastąpić następującą zmienną tymi parametrami („AUTO”, „PATH_INFO”, „QUERY_STRING”, „REQUEST_URI” i „ORIG_PATH_INFO”) jeden po drugim
źródło
Zajrzyj do
system\application\config\config.php
pliku, jest tam zmienna o nazwieindex_page
To powinno wyglądać tak
zmień to na
Następnie, jak wspomniano, musisz również dodać regułę przepisywania do
.htaccess
plikuUwaga: w CodeIgniter v2 ten plik został przeniesiony z folderu systemowego do
application\config\config.php
źródło
Wszystkie powyższe metody zawiodły, a potem stwierdziłem, że nie zmieniam AllowOverride None na AllowOverride All w moim wirtualnym pliku hosta w / etc / apache2 / sites-available / default
źródło
źródło
źródło
Pomyślałem, że mogę dodać
byłby .htaccess i pamiętaj, aby edytować zmienną application / config.php w następujący sposób:
zastąpić
z
źródło
To zdecydowanie musi zadziałać ... spróbować
źródło
Upewnij się, że masz włączone
mod_rewrite
(ja tego nie zrobiłem).Umożliwić:
Zastąp
AllowOverride None
równieżAllowOverride All
Wreszcie ...
Mój .htaccess to
źródło
actions
: stackoverflow.com/questions/14419757/…Idealne rozwiązanie [testowane na hoście lokalnym, a także w prawdziwej domenie]
źródło
To jest .htaccess dla jednego z moich projektów CI:
W ostatnim wierszu powinieneś znaleźć to, czego potrzebujesz, chociaż możesz potrzebować '/ projectFolder' 'lub nie, w zależności od konfiguracji twojej struktury folderów. Powodzenia!
źródło
Użyj
mod_rewrite
zgodnie z instrukcjami w tym samouczku z wiki CI.źródło
Jako plik .htaccess, dobrym rozwiązaniem jest użycie tego, który jest udostępniany przez platformę Kohana :
To dobrze przemyślany .htaccess, który po prostu działa.
źródło
Istnieją dwa sposoby rozwiązania index.php w ścieżce url dla codeigniter
1: W config / config.php Zmień kod:
do
2: Utwórz .htacess w ścieżce głównej, jeśli nie został utworzony, skopiuj następujący kod: -
Zapisz go, a następnie sprawdź w swojej konfiguracji Apache rewrite_module LUB mod_rewrite jest włączony, jeśli nie, włącz go. (Najlepsze podejście)!
źródło
Przetestowałem to na Apache2 na wielu różnych hostingach i działa świetnie.
użyj tego htaccess
upewnij się, że masz
enabled mod_rewirte
plikphpinfo();
następnie zrób to w config / config.php:
jeśli to jeszcze nie działa, spróbuj zmienić na
$config['uri_protocol']='AUTO'
jeden z wymienionych wapplication/config/config.php
pliku wewnętrznym w linii 40/54:czasami używałem:
REQUEST_URI
zamiastAUTO
lub"QUERY_STRING"
dla hostingu goDaddyźródło
Zajrzyj do
\application\config\config.php
pliku, jest tam zmienna o nazwieindex_page
To powinno wyglądać tak
zmień to na
Następnie, jak wspomniano, musisz również dodać regułę przepisywania do
.htaccess
pliku w następujący sposób:To działa dla mnie, mam nadzieję, że ty też.
źródło
Jeśli jesteś na Linuksie i używasz serwera Apache2, może być konieczne zastąpienie pliku apache2.conf również obok zmian w pliku .htaccess. Znajdź plik konfiguracyjny Apache2 w /etc/apache2/apache2.conf .
Przeszukaj katalog / var / www / Change AllowOverride None -> AllowOverride All
źródło
umieść plik .htaccess w swoim głównym katalogu WWW
Jakiekolwiek poprawki, które robisz - jeśli powyższe nie zostaną spełnione - nie zadziała. Zwykle znajduje się w folderze System, powinien znajdować się w katalogu głównym. Twoje zdrowie!
źródło
application
katalogu zamiast w katalogu głównym.Wypróbowałem wiele rozwiązań, ale wymyśliłem to:
W razie potrzeby spowoduje to usunięcie pliku index.php z adresu URL.
źródło
Używam tych linii w
.htaccess
pliku; które umieszczam w folderze głównymWtedy mogę uzyskać dostęp do http://example.com/controller/function/parameter
zamiast http://example.com/index.php/controller/function/parameter
źródło
Pomoże Ci to wkleić ten kod do folderu aplikacji w pliku .htacess
źródło
Ten zrobił mi całą magię:
Mam nadzieję, że to pomoże!
źródło
Cześć, ten pracował dla mnie
tak dobrze jak to
gdzie folder jest nazwą podfolderu, jeśli ta aplikacja kodująca jest hostowana jako subdomena, np. nazwa_domeny / folder / index.php.
Mam nadzieję, że to działa dla Ciebie. Dzięki.
źródło
Skopiuj następujący kod w swoim .htaccess
źródło
źródło
Krok 1 :
Dodaj to w pliku htaccess
Krok 2 :
Usuń index.php w konfiguracji codeigniter
Krok 3 :
Zezwalaj na zastępowanie htaccess w konfiguracji Apache (polecenie)
sudo nano /etc/apache2/apache2.conf i edytuj plik i zmień go na
dla folderu www
Krok 4 :
Włączono przepisywanie modów Apache (polecenie)
Krok 5:
Uruchom ponownie Apache (polecenie)
źródło