.htacces | Błąd 404 w przyjaznych linkach


(Patrol) #1

Witam!

Wykonałem stronę. Testy przeprowadziłem na zwykłym hostingu.

Wszystko działało do czasu kiedy stronę przeniosłem na swój serwer dedykowany, posypały się przyjazne linki.

Kiedy otwieram plik index.php wszystko działa bez zarzutu.

Przy wpisywaniu index.html wyrzuca mi błąd 404: http://imageshack.us/photo/my-images/202/errornt.jpg/

Plik .htacces wygląda następująco:

Options FollowSymLinks

RewriteEngine On


RewriteRule ^index.html$ index.php

...

W Phpinfo pokazane jest, że mod_rewrite jest załadowane:

Proszę o pomoc, męczę się już z tym pół dnia.


(Drobok) #2
<?php phpinfo() ?>

Zobacz czy masz zainstalowane mod_rewrite. Spróbuj:

Options FollowSymLinks

RewriteEngine On

RewriteBase /

RewriteRule ^index.html$ index.php [L]

Oraz:

RewriteEngine On

RewriteBase /

RewriteRule ^index.html$ index.php [L]

(Patrol) #3

Pisałem, że sprawdziłem czy mod_rewrite jest załadowane.

Sprawdziłem oba kody które podałeś, żadne nie działa poprawnie. Błąd ten sam.


(Drobok) #4

Sprawdź w etc/httpd/conf/httpd.conf, czy masz

LoadModule rewrite_module modules/mod_rewrite.so

Ew sprawdź czy masz AllowOverride na all (jeśli jest none masz wyłączone htaccess)


(Damgora) #5

drobok jeśli po wejściu na index.html wyświetla się komunikat o nieistniejącym pliku index.php to znaczy, że przekierowanie działa!

patryk_patrol , jaka jest właściwa ścieżka do docelowego pliku, jeśli /home/admin/public_html/index.php nią nie jest.

ps. zamiast

^index.html$

powinno być

^index\.html$

(ale nie ma to wpływu na Twój problem)


(Drobok) #6

Nie przeczytałem linku :x


(Patrol) #7

Myślałem że wziąłeś to pod uwagę :wink:

AllowOverride None

    Options None

    Order allow,deny

    Allow from all

AllowOverride tylko w tym przypadku mam na None, reszta jest na All

LoadModule rewrite_module modules/mod_rewrite.so
  • tego kompletnie nie znalazłem, o dziwo w Phpinfo pokazuje że mod_rewrite jest załadowane. Mam DirectAdmina.

  • to jest poprawna ścieżka.

(Drobok) #8

A w /etc/apache2/confixx_vhosts/web1.conf (czy coś podobnego), masz tą linijkę ?? (AllowOverride na none dla folderu w którym jest index)

A masz coś w stylu linijki

mod_rewrite

w pierwszym z plików ?? Powinna być bez komentarza. Ale cayman3_11 ma rację, jeśli mod_rewrite byłby wyłączony to błąd nie wywalałby rozszerzenia php, lecz html.

Masz w htaccess tylko tą regułę, czy coś innego też ??