Jak usunąć indeks.php z adresów URL?
Wszystkie moje adresy URL w mojej instalacji Magento wymagają indeksu.php w nich, jak:
http://example.com/index.php/admin/
http://example.com/index.php/customer/account/login/
Problem polega na tym, że system domyślnie linkuje do adresów URL typu
http://example.com/admin/
http://example.com/customer/account/login/
Które i tak wyglądają ładniej. Zakładam, że to problem z przepisaniem.htaccess, ale jako, że Majsterkowanie z tym w przeszłości dało mi 500, chciałbym was najpierw zapytać.
Zmiana ustawień SEO, przepłukanie pamięci podręcznej konfiguracji i reindeksowanie adresów URL nie zadziałały jak sugerowano tutaj.
8 answers
To może być stare, ale równie dobrze mogę napisać, czego się nauczyłem. Więc zrobiłem to w ten sposób.
---------->
Zanim zaczniesz, upewnij się, że moduł Apache rewrites jest włączony, a następnie wykonaj poniższe czynności.
1) Zaloguj się do obszaru administracyjnego Magento, a następnie przejdź do System > Configuration > Web.
2) Przejdź do zakładek Unsecure i Secure . Upewnij się, że niezabezpieczone i są bezpieczne - Base Url opcje zawierają nazwę domeny i nie pozostawiają ukośnika na końcu adresu URL. Przykład: http://www.yourdomain.co.uk/
3) będąc jeszcze na stronie Web , przejdź do zakładki Search Engine Optimization i wybierz YES pod opcją Use Web Server Rewrites.
4) Przejdź ponownie do zakładki Secure i wybierz Yes {[9] } na użyj bezpiecznych adresów URL w interfejsie opcja.
5) Teraz przejdź do katalogu głównego swojej witryny Magento i użyj tego kodu dla swojego .htaccess:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
Save the .htaccess i zastąp oryginalny plik. (PAMIĘTAJ, ABY WYKONAĆ KOPIĘ ZAPASOWĄ ORYGINAŁU .plik htaccess zanim się nim zajmiesz!!!)
6) Teraz przejdź do System > Zarządzanie pamięcią podręczną i wybierz wszystkie pola i upewnij się, że akcje jest ustawione na Refresh , a następnie submit. (To oczywiście odświeży Cache.)
---------->
Jeśli to nie zadziałało, wykonaj następujące dodatkowe kroki.
7) przejdź do System > Configuration > web ponownie. Tym razem poszukaj bieżącego zakresu konfiguracji i wybierz swoją stronę z menu rozwijanego. (Jest to oczywiście ustawione na domyślną konfigurację)
8) upewnij się, że pola Unsecure i Secure zawierają tę samą domenę, co poprzedni domyślny plik konfiguracyjny.
9) przejdź do Wyszukiwarki Zakładka optymalizacja silników i wybierz Yes pod sekcją Użyj Przepisań serwera www.
10) gdy adresy URL są takie same i włączone jest przepisywanie Zapisz tę stronę, a następnie wróć i upewnij się, że wszystkie są zaznaczone jako domyślne, a następnie zapisz ponownie w razie potrzeby.
11) Powtórz krok 6.
Teraz twój indeks.problem z php powinien być naprawiony i wszystko powinno być dobrze!!!
Mam nadzieję, że to pomoże i powodzenia.Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-04-20 13:04:45
Wykonaj poniższe kroki, które Ci pomogą.
Krok 1: Przejdź do folderu głównego witryny, a znajdziesz tam plik .htaccess
. Otwórz go za pomocą edytora tekstu i znajdź linię #RewriteBase /magento/
. Po prostu zastąp go #RewriteBase /
Wyjmij tylko 'magento/'
Krok 2: Następnie przejdź do panelu administracyjnego i włącz przepisywanie (Ustaw yes dla użyj przepisywania serwerów WWW). Znajdziesz go w zakładce System->Konfiguracja->Web - > Search Engine Optimization.
Krok 3: Następnie przejdź do strony zarządzania pamięcią podręczną (zarządzanie pamięcią podręczną systemu ) i odświeżyć pamięć podręczną i odświeżyć, aby sprawdzić witrynę.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-01-22 08:14:59
Musisz włączyć mod_rewrite w apache, aby czyste adresy URL działały
Jeśli mod_rewrite nie jest w phpinfo musisz go zainstalować przez
sudo a2enmod rewrite
sudo apache2ctl -l
W związku z tym, że nie jest to możliwe, nie jest to konieczne, ponieważ nie jest to konieczne.]}
Restart Apache
sudo service apache2 restart
W adminie Magento przejdź do System > Configuration > Web > search engine Optimization
i zmień "Use Web Server Rewrites
" na Yes
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-11-12 07:21:22
Może to w Twoim .htaccess:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-05-06 22:26:12
Cześć, spóźniłem się na imprezę.. chciałem tylko zaznaczyć, że instrukcje z http://davidtsadler.com/archives/2012/06/03/how-to-install-magento-on-ubuntu / były naprawdę przydatne.
Miałem zainstalowany Ubuntu server z Apache, MySql i Php, więc pomyślałem, że mogę przejść do nagłówka tworząc katalog, z którego Magento będzie serwowane z i osiągnąłem ten sam problem co OP, tzn. miałem ' index.PHP ' potrzebne we wszystkich adresach URL (lub dostałbym 404 nie znaleziono). I następnie wróciłem do instalacji i konfiguracji serwera HTTP Apache i po ponownym uruchomieniu apache działa idealnie.
Dla odniesienia, brakowało mi:
sudo bash -c "cat >> /etc/apache2/conf.d/servername.conf <<EOF
ServerName localhost
EOF"
... oraz
sudo a2enmod rewrite
sudo service apache2 restart
Hope this helps
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-02-28 12:34:58
Jeśli inne rozwiązania nie działają dla ciebie, spróbuj tego:
Krok 1: (jeśli instalacja jest w webroot)
Zastąp
#RewriteBase /magento/
Z
RewriteBase /
Krok 2:
Dodaj następujące linie (włącznie z exclude Admin, ponieważ backend potrzebuje indeksu.PHP wewnętrznie)
RewriteCond %{THE_REQUEST} ^.*/index.php
RewriteRule ^(.*)index.php$ http://www.yourdomain.com/$1 [R=301,L]
RewriteRule ^index.php/(admin|user)($|/) - [L]
RewriteRule ^index.php/(.*) $1 [R=301,QSA,L]
Zaraz po
RewriteRule .* index.php [L]
To działa dla mnie
Jeśli nadal nie działa, sprawdź dwukrotnie konfigurację Magento: System - > Konfiguracja - > Www - > Wyszukiwarka Optymalizacja. Poprawki muszą być włączone.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-12-02 19:17:38
Próbowałem wszystkiego na poczcie, ale nic nie działało. Następnie zmieniłem .fragment htaccess, który ErJab umieścił do przeczytania:
RewriteRule ^(.*)$ 'folder_name'/index.php/$1 [L]
Powyższa linia naprawiła to dla mnie. gdzie * folder_name * jest głównym folderem magento.
Mam nadzieję, że to pomoże!Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-11-14 14:02:01
Głównie Jeśli używasz systemu opartego na Linuksie, takiego jak "Ubuntu" i jest to sugerowane tylko dla użytkownika localhost, a nie dla serwera.
Wykonaj wszystkie kroki wymienione w poprzednich odpowiedziach. +
Sprawdź konfigurację Apache ' a. (AllowOverride All) Jeśli wartość AllowOverride jest none, zmień ją na All I ponownie uruchom apache.
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Daj znać, jeśli ten krok komuś pomoże. Ponieważ może to zaoszczędzić czas, jeśli znajdziesz go wcześniej.
Jestem dodawanie dokładnych linii z mojego pliku htaccess w localhost. w celach informacyjnych
Wokół linii nr 110
<IfModule mod_rewrite.c>
############################################
## enable rewrites
Options +FollowSymLinks
RewriteEngine on
############################################
## you can put here your magento root folder
## path relative to web root
#RewriteBase /
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
Obrazy są dla niektórych użytkowników, którzy łatwo rozumieją z obrazka tekst:
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-05-11 07:51:34