WordPress. Bezpośrednie odnośniki i index.php w adresie.

Podczas wdrażania najpopularniejszego systemu blogowego – WordPress’a, kolejny już raz natknąłem się na ten sam problem. Chodzi o odnośniki bezpośrednie i index.php w adresie.

Wygląda to tak:

Problem ten pojawia się wtedy, gdy skrypt nie może automatycznie wykryć serwera HTTP na jakim został zainstalowany. Można to w prosty sposób naprawić.

Odnajdujemy plik:

wp-includes\vars.php

W pliku odnajdujemy linię, w zależności od wersji Wordress’a

$is_apache = strstr($_SERVER['SERVER_SOFTWARE'], 'Apache') ? 1 : 0;

lub

$is_apache = (strpos($_SERVER['SERVER_SOFTWARE'], 'Apache') !== false || strpos($_SERVER['SERVER_SOFTWARE'], 'LiteSpeed') !== false);

i komentujemy ją (używając oczywiście znaków //). Pod wykomentowaną linią dodajemy nową. Będzie to odpowiednio:

$is_apache = 1;

lub

$is_apache = true;

Zapisujemy i kopiujemy plik na serwer.
Po modyfikacjach będzie to wyglądało następująco:

//$is_apache = strstr($_SERVER['SERVER_SOFTWARE'], 'Apache') ? 1 : 0;
$is_apache = 1;

lub

//$is_apache = (strpos($_SERVER['SERVER_SOFTWARE'], 'Apache') !== false || strpos($_SERVER['SERVER_SOFTWARE'], 'LiteSpeed') !== false);
$is_apache = true;

Po tej zmianie WordPress powinien automatycznie utworzyć plik .htaccess, a ekran wyboru odnośników bezpośrednich wyglądać następująco:

Fork me on GitHub

6 comments

  1. Nie zbyt rozumiem i nie wiem czy to w ogóle mi pomoże ;/, bo ja chciałem sprawdzić co się stanie jak zmienie na własny format wspisując:
    http://ungoro/blog
    i jak to zaakceptowałem to już na strone i wordpresa nie moge wejść, przez xampp jak wchodze do phpmyadmin to już nie moge tam wchodzić gdyż już mam założonego bloga jakby i to nie przeszkadzało, że tam nie mogłem wejść i to że zmieniłem to co Pan pokazuje na obazku własny format, to nie moge już wejść do niczego ;/. Jest na to rozwiązanie?

    Nad stroną dużo się męczyłem.

  2. Przed zastosowaniem powyższej opcji, sprawdzcie najpierw czy posiadacie zainstalowany moduł php mod_rewrite. W tym celu należy przekopiować na serwer plik info.php o następującej streści:

    Jeśli po twarciu w wyszukiwarce nei znajdziecie mod_rewrite (ctrl+f), oznacza że z powyższego przykładu nie skorzystacie i pozostaje Wam jedynie sztuczne przepisywanie z index.php w nazwie.

  3. u mnie nie działa
    mam problem z Wampserver.
    Na początku strony nie otwierały się, włączyłem mod rewrite. Teraz na każdej otwiera się strona startowa localhost Wampservera

    Co zrobić?

  4. Warning: preg_match() [function.preg-match]: Compilation failed: nothing to repeat at offset 1 in /var/www/virtual/virusiq.cba.pl/wp-includes/class-wp.php on line 201

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Możesz użyć następujących tagów oraz atrybutów HTML-a: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>