Alternatywa dla .htaccess (z powodu złej wydajności)

9

Powiedziano mi, że należy unikać .htaccess, gdy jest to możliwe, ponieważ zmniejsza wydajność serwera, a nowe serwery wyłączają go lub po prostu go nie implementują. Nie wiem, jak to prawda, ale jeśli tak, to chcę znaleźć alternatywę do przepisania moich adresów URL.

Używam go tylko do konwersji adresów URL z example.com/page.php?lang=LANGna example.com/LANG/page.

Dane411
źródło
1
„nowe serwery wyłączają go lub po prostu go nie implementują” wcale nie jest prawdą. Jest domyślnie włączony dla większości dostawców hostingu współdzielonego i, chyba że o to poprosisz, rzadko jest domyślnie wyłączany podczas tworzenia serwera.
John Conde

Odpowiedzi:

13

Powiedziano mi, że należy unikać .htaccess, gdy jest to możliwe, ponieważ zmniejsza wydajność serwera, a nowe serwery wyłączają go lub po prostu go nie implementują.

Część dotycząca zgodności absolutnie nie jest prawdą; część dotycząca wydajności jest trochę prawdziwa, ale prawdopodobnie nieistotna dla ciebie.

Osoba, którą zacytowałeś, prawdopodobnie mówiła o tym, że szybciej jest umieścić reguły Apache w konfiguracji centralnej zamiast plików .htaccess: te pierwsze są ładowane raz do procesu Apache i nie trzeba ich sprawdzać przy każdym żądaniu.

Nie jest to jednak możliwe na współdzielonym hostingu - używanie plików .htaccess jest jedyną dostępną opcją.

Jeśli masz możliwość wprowadzenia opcji konfiguracji do konfiguracji centralnej (tzn. Masz dostęp administratora do serwera) i martwisz się wydajnością, zrób to. Ale są szanse, że to naprawdę nie jest problem. Jest wiele rzeczy do zoptymalizowania w aplikacji internetowej, zanim warto na to spojrzeć.

W przypadku prostych zadań przepisywania w witrynie o niskim lub normalnym natężeniu ruchu droga do .htaccess jest wciąż do zrobienia.

Pekka
źródło
Chociaż zgadzam się z większością tego, nie powiedziałbym, że „w przypadku prostych zadań przepisywania w witrynie o niskim lub normalnym natężeniu ruchu, .htaccess jest wciąż dobrym rozwiązaniem”. Jeśli masz dostęp do zapisu w centralnej konfiguracji Apache, korzystanie z .htaccessplików nie ma żadnej korzyści . Jasne, wada może być znikoma, ale to nie jest powód, aby to robić.
David Z
@David jest kilka sytuacji, w których .htaccess jest odrobinę lepszy w utrzymaniu - mianowicie aplikacje internetowe, które są dostarczane z regułami przepisywania w plikach .htaccess i często je aktualizują oraz testują środowiska, w których reguły apache są w ciągłym przepływie i co jakiś czas restartuje serwer czas byłby kłopotliwy. Poza tym zgadzam się z tobą. (A na blogu WP z masowym ruchem może warto ręcznie integracji każdą aktualizację reguły do centralnego config.)
Pekka
Cytat z dokumentacji Apache'a jest odpowiedni tutaj:You should avoid using .htaccess files completely if you have access to httpd main server config file. Using .htaccess files slows down your Apache server. Any directive that you can include in a .htaccess file is better set in a Directory block, as it will have the same effect with better performance.
Shane Madden
@ShaneMadden Dzięki za zacytowanie fundacji Apache. Podsumowując, dyskusja na tej stronie ogromnie mi pomogła!
ankush981