Leszy 0 Zgłoś post Napisano Maj 28, 2016 Mam następujący problem do rozwiązania. Poprzednio trzymałem stronę na lighttpd na której obowiązywały następujące bezpośrednie odnośniki: /kategoria/nazwa_posta.html Teraz, po przeniesieniu się na nginx aby takie linki działały musiałem dodać regułę do vhost: if (!-e $request_filename) { rewrite ^(.+)$ /index.php?q=$1 last; } Co połowicznie rozwiązało problem - wordpress przestał walić 404 przy odsyłaniu do mojego bloga. Problem nastąpił natomiast z funkcjonowaniem całego skryptu - żadna wtyczka cachująca nie chce działać (na 100% z powodu dopisanego .html )Aby nie stracić pozycji w google potrzebna mi regułka która usunie rozszerzenie .html tzn taki odnośnik /kategoria/nazwa_posta.html z automatu przerobi na /kategoria/nazwa_posta Jednak zupełnie nie mam pojęcia jak się do tego zabrać.Z góry dziękuję za pomoc Udostępnij ten post Link to postu Udostępnij na innych stronach
Fizyda 34 Zgłoś post Napisano Maj 28, 2016 Użyj konwertera rewrite do nginxa na regułach które wygenerował Ci wordpress w .htaccess. Udostępnij ten post Link to postu Udostępnij na innych stronach
Leszy 0 Zgłoś post Napisano Maj 28, 2016 Problem w tym, że wordpress nic mi nie wygenerował (nie mam nawet htacces w roocie) regułkę dopisującą .html znalazłem gdzieś w sieci. Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość Dew Zgłoś post Napisano Maj 29, 2016 Jaką masz wtyczkę do cache? WP Super Cache lub W3 Total Cache - zawsze korzystałem z tego i było ok. Udostępnij ten post Link to postu Udostępnij na innych stronach
Leszy 0 Zgłoś post Napisano Maj 29, 2016 Testowałem kilka wtyczek cache, wszystkie działają jeżeli w konfigu vhosta zakomentuję w/w regułkę. Jeżeli nginx zaczyna dopisywać .html do adresu każda wtyczka cachująca głupieje. Właściwie to pomyślałem, aby nie korzystać już z tych html'ków tylko jakoś te wyrażenia regularne nie chcą się mi wbić do głowy :/ Udostępnij ten post Link to postu Udostępnij na innych stronach
Pan Kot 1535 Zgłoś post Napisano Maj 29, 2016 (edytowany) Masz wordpressa, który generuje treść dynamicznie, w oparciu o kod i bazę SQL, i dziwisz się, że wtyczki cacheujące głupieją jak widzą, że user odwołuje się do statycznego contentu? Wywal to co napisałeś, wstaw to do vhosta gdzie masz zdefiniowanego wordpressa: location / { try_files $uri $uri/ /index.php?$args; } I restart nginxa. Od tego momentu będziesz miał tzw. przyjazne linki, czyli zamiast sklep.pl/promocja.html będzie sklep.pl/promocja, tak jak powinno być od początku. Wystarczy, że skonfigurujesz teraz wordpressa z tą opcją i poprawisz ten cały bajzel, który zrobiłeś do tej pory. Edytowano Maj 29, 2016 przez Archi (zobacz historię edycji) 1 Udostępnij ten post Link to postu Udostępnij na innych stronach
Leszy 0 Zgłoś post Napisano Maj 30, 2016 No właśnie w tym problem, że linki zdefiniowane jako /%category%/%postname%.html działały na lighttpd (wraz z cache) a na nginx nie chcą. Jeżeli teraz ustawie odnośniki jako /%category%/%postname% Cache zaczyna działać, problem w tym że strony zindeksowane w google mają te .html na końcu i trzeba to przepisać tak aby to "zjadło" zanim czytelnik trafi na moją stronę gdyż w innym wypadku trafi go 404 prosto w głowę Udostępnij ten post Link to postu Udostępnij na innych stronach