Właśnie uaktualniłem z EE 1 do EE 2 i zmagam się z niektórymi zmianami. Na przykład fakt, że EE nie wyprowadza już końcowego ukośnika na swoich adresach URL, powoduje bałagan wielu linków, w których polegałem na konstrukcjach takich jak adres URL generowany przez EE + dodatkowy segment. Znajdowanie i edytowanie wszystkich miejsc, w których to zrobiłem, byłoby małym koszmarem, biorąc pod uwagę rozmiar i konfigurację mojej witryny. Czy istnieje sposób na zhackowanie EE, aby odzyskać stare zachowanie?Uzyskiwanie wstecznego ukośnika w ExpressionEngine 2?
Odpowiedz
Istnieje rozwiązanie .htaccess do tego, które używam w moich starszych witrynach EE z powodu tego problemu dokładnie.
dodawania spływu ukośnik
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule ^(.*)$ $1/ [L,R=301]
Źródło: http://devot-ee.com/articles/item/simple-htaccess-for-expressionengine-sites
Jednakże, ponieważ jest tam domyślnie w EE2, może chcesz zrobić odwrotnie i usunąć ten ukośnik poprzez .htaccess więc nie musisz ręcznie dodawać/usuwać/cokolwiek. Jeśli zdecydujesz się na to, oto kod:
Usuwanie początkowych Slash
RewriteCond %{HTTP_HOST} !^\.yoursite\.com$ [NC]
RewriteRule ^(.+)/$ http://%{HTTP_HOST}/$1 [R=301,L]
Źródło: http://ee-spotlight.com/tips/a_standard_htaccess_file_with_expressionengine
Problem tkwi nie tyle na końcu adresów URL, co niestety, kiedy kończę z brakującym końcowym ukośnikiem wewnątrz adresu URL. Przedstawiłem przykład we wcześniejszym komentarzu, który mam nadzieję ilustruje, co mam na myśli. Rozwiązanie .htaccess brzmi wspaniale, ponieważ normalizuje koniec adresów URL tak, by zawierały końcowy slash lub nie, ale nie wydaje się, aby mogło rozwiązać brakujące ukośniki w adresach URL. –
jakiegoś Ponadto ukośnik wspomnianym może powodować konflikty z niektórymi formami. Dodanie następujących elementów, aby sprawdzić, czy żądanie jest GET, może być bezpieczniejsze.
# Add a trailing slash to paths without an extension
RewriteCond %{THE_REQUEST} ^GET
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule ^(.*)$ $1/ [L,R=301]
W końcu miałem czas, aby to przetestować i jestem trochę zaskoczony, jak to działa. Wraz z nim dodany do mojego .htaccess, jeśli kliknę link na jednej z moich stron, nowa strona wciąż się ładuje bez ukośnego slasha. –
- 1. ExpressionEngine 1 do ExpressionEngine 2 Upgrade z polem pliku nGen
- 2. Zachowanie tytułu tytułu w ExpressionEngine?
- 3. ExpressionEngine wzrost textarea granica
- 4. Korzystanie z ukośnika w window.location.hash
- 5. ExpressionEngine no_results nie działa
- 6. ExpressionEngine: Pomoc w/Kolejność odwrotnych powiązanych wpisów
- 7. ExpressionEngine: Pojedynczy szablon wpisu
- 8. Wdrażanie przeszukiwania wstecznego z heurystyką?
- 9. Hasło chroni grupę szablonów ExpressionEngine
- 10. expressionengine nie wyświetli wszystkich wpisów
- 11. Tworzenie przycisku wstecznego w materiale Projektowanie
- 12. Możliwe użycie odniesienia wstecznego w zakresie liczb?
- 13. Implementacja śledzenia wstecznego na Haskell
- 14. ? ACT nie działa już po aktualizacji z ExpressionEngine 2.2.1 do ExpressionEngine 2.5.3
- 15. Wymuszenie końcowego ukośnika w Routingu Railsów
- 16. Solr Kwerenda nie analizująca ukośnika w przód
- 17. Jak uciec z ukośnika w trybie org?
- 18. Począwszy od ukośnika w html dla "href"
- 19. Szyny kropka zamiast ukośnika w adresie URL
- 20. Uzyskiwanie 2 ostatnich katalogów ścieżki pliku
- 21. Jak mogę dostosować limit szybkości wyszukiwania ExpressionEngine?
- 22. Ustaw funkcjonalność przycisku wstecznego widgetu wyszukiwania
- 23. Błąd podczas wstecznego kodu inżyniera Najpierw przy pomocy elektronarzędzi EF Beta 2 i VS2012 Aktualizacja 1
- 24. jQuery, dlaczego funkcja odtwarzania wstecznego nie działa?
- 25. Swift debugowanie w systemie Linux - brak śledzenia wstecznego
- 26. uzyskiwanie ciągu znaków między 2 znakami w pytonie
- 27. Uzyskiwanie dostępu do zmiennej środowiskowej AppKernel w Symfony 2
- 28. Uzyskiwanie Contiunous Zmiana rozmiaru okna zdarzenia w SDL 2
- 29. Uzyskiwanie dostępu do Szybkiego panelu w sublime Text 2 Plugin
- 30. Jaki jest najlepszy sposób, aby logować użytkownika programowo w ExpressionEngine
Czy możesz wyjaśnić nieco więcej "konstrukcji, takich jak generowany adres URL + dodatkowy segment"? – GDmac
Na przykład, miałem problem z szablonem, w którym korzystałem z modułu Tagi i musiałem skonfigurować łącze takie jak to: "{path =" Postacie/sezon "}/{websafe_tag} /". Początkowo nie potrzebowałem/before {websafe_tag}, ponieważ pierwsza część adresu URL została wygenerowana z końcowym ukośnikiem. Tak więc od tego zależałem w wielu przypadkach. –
Wygląda na to, że {path =} i {url_title_path} polegają na '$ this-> EE-> functions-> create_url ($ path)', więc może to być miejsce na zhakowanie dodatkowego slasha. Jednak polecam wyszukiwanie i zamień w szablonach powyżej hakowania rdzenia EE. – GDmac