Czasami trudno jest wybrać nazwę postu, ale nie opisałem problemu, który stale napotykam. Istotą problemu jest to, że jeśli przypiszę do mnie główne lustro, jest ono zapisane w .htaccess, a następnie przypadkowo loguję się do panelu administracyjnego w celu uzyskania dodatkowego lustra, a następnie otrzymuję wiele artefaktów zarówno w Evolution, jak i Revolution. Ponieważ za każdym razem, gdy zaczynam szukać przyczyny, dlaczego tak się dzieje, a po pół godzinie, przeklinając, przypominam sobie ten problem, postanowiłem napisać ten post.
Wielu webmasterów, zgodnie z zaleceniami wyszukiwarek, przekierowuje z dodatkowego lustra do głównego, na przykład z subdomeny www do domeny głównej. A nasz ulubiony system Modx, że Evolution, ta rewolucja, zapewnia nam rozwiązanie pod klucz w htaccess. Wystarczy przypisać główne lustro i odkomentować linie, a voila, mamy główne lustro.
# Przepisz www.domain.com -> domain.com - używaj wtyczki SEO Strict URL # RewriteCond% {HTTP_HOST}. # RewriteCond% {HTTP_HOST}! ^ Przykład-domena-zmiana-zmiana [NC] #RewriteRule (. *) Http: //przyklad-domena-plaza-zmienna.com/$1 [R = 301, L] # # lub w przeciwnym domenie.com -> www.domain.com użyj następującego # NIE UŻYWAJ OBUDOWY # RewriteCond% {HTTP_HOST}. RewriteCond% {HTTP_HOST}! ^ Wwwdevmarks .ru [NC] RewriteRule (. *) Http://www.devmarks.ru/$1 [R = 301, L]Jednakże, jak napisano na początku, jeśli zalogujesz się do panelu administracyjnego za pomocą dodatkowego lustra, artefakty natychmiast wyjdą. Na wszelki wypadek opiszę je. Głównymi znakami, które pojawiły się w takiej sytuacji dla Evo, są z reguły niepracujący edytor wizualny lub jego części, które nie działają, na przykład puste okno tinymce podczas pracy ze zdjęciami:
Główne funkcje Revo to puste lewe drzewo, natomiast puste jako drzewo dokumentów, pozostałe karty w lewym menu.
Znajdź rozwiązanie tego problemu na czole, przy użyciu htaccess nie działa, ponieważ dla folderu / manager / w tym pliku RewriteEngine jest wyłączony, a zatem nie możemy wpływać na niego. W rezultacie postanowiono wprowadzić zmiany w /manager/index.php.
Jeśli więc zrobiliśmy subdomenę z www jako głównym lustrem, to na początku index.php w folderze / manager / piszemy następującą strukturę:
if (! preg_match ('/ ^ www ./', $ _ SERVER ['HTTP_HOST']))) ((Lokalizacja: http: //www.'.$_SERVER ['HTTP_HOST']. ($ _SERVER ['REQUEST_URI ']? $ _ SERVER [' REQUEST_URI ']:' '));Jeśli jako główne lustro stworzyliśmy domenę bez www, to na początku index.php w folderze / manager / piszemy następującą konstrukcję:
if (preg_match ('/ ^ www ./', $ _ SERVER ['HTTP_HOST']))) („Lokalizacja: http: //'.str_replace ('www.', '', $ _ SERVER ['HTTP_HOST”] ). ($ _ SERVER ['REQUEST_URI']? $ _ SERVER ['REQUEST_URI']: ''));Rozwiązanie jest dalekie od ideału, poza tym musisz edytować kod i dlatego upewnij się, że nie utknie on przy następnej aktualizacji. Ale w tej chwili nie znalazłem innego rozwiązania. Jeśli ktoś ma lepsze rozwiązanie, napisz w komentarzach.
UPD: Kolejną kwestią, na którą warto zwrócić uwagę, jest to, że na niektórych hostach przekierowanie 301 do podstawowego serwera lustrzanego można skonfigurować w ustawieniach serwera WWW. Nie potrzebują takich tańców z tamburynem.
„HTML Minification Benchmarking Hosting » SERVER ['REQUEST_URI ']?SERVER ['REQUEST_URI']?