Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [apache] błąd 404 w mod_rewrite
Dynuel
post
Post #1





Grupa: Zarejestrowani
Postów: 113
Pomógł: 0
Dołączył: 27.12.2003

Ostrzeżenie: (0%)
-----


Chciałbym zrobić tak ze jeżeli ktoś odwoła się do pliku index.php

www.domena.com/index.php

to żeby wywaliło błąd 404

mam takie strony błędów
Kod
ErrorDocument 404 /404.php

oczywiście mógłbym zrobić to tak:
Kod
RewriteRule ^index\.php$ /404.php [L]

ale sprawi to że tylko zostanie wyświetlona strona błędu, ale wysłany nagłówek nadal będzie "HTTP/1.x 200 OK", a ja chciałbym zeby po prostu został wysłany nagłówek 404, a dopiero w związku z tym została wyświetlona domyślna strona błędów


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
dadexix
post
Post #2





Grupa: Zarejestrowani
Postów: 439
Pomógł: 21
Dołączył: 28.06.2007
Skąd: Bielsko-Biała

Ostrzeżenie: (0%)
-----


w 404.php
Kod
header("HTTP/1.0 404 Not Found");
na niektórych sewerach może nie działać właściwie jak nie dodasz
Kod
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");    // data w przeszłości


--------------------
"Na przykład zmiennej $jestem_najlepszy przypisujemy wartość logiczną TRUE"
Ja: użyj funkcji[...]
Grins: mów normalnie do mnie a nie po polsku
Ja: normalnie to znaczy jak?
Grins: No w PHP... inaczej mój parser ledwo kuma:)
Go to the top of the page
+Quote Post
Dynuel
post
Post #3





Grupa: Zarejestrowani
Postów: 113
Pomógł: 0
Dołączył: 27.12.2003

Ostrzeżenie: (0%)
-----


Cytat(dadexix @ 9.01.2008, 15:01:42 ) *
w 404.php
Kod
header("HTTP/1.0 404 Not Found");
na niektórych sewerach może nie działać właściwie jak nie dodasz
Kod
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");    // data w przeszłości


tak wiem o tym sam założyłem tamten temat, lecz tutaj nie rozumiemy sie troche, mnie chodzi zupełnie o co innego, podejście od innej strony

ja nie chce aby po wpisaniu www.domena.com/index.php wyświetliło użytkownikowi tylko treść błędu z pliku 404.php, a status strony będzie nadal "HTTP/1.x 200 OK", ponieważ strona www.domena.com/index.php istnieje tylko ze wyświetla pod nią plik 404.php, użytkownik zobaczy błąd i ok, ale roboty i przeglądarki będą wiedziały ze strona istnieje

ja chcę aby po wpisaniu adresu www.domena.com/index.php wywaliło status 404 Not Found, tak ze roboty/przeglądarki będą wiedziały ze strony nie ma, i dopiero w związku z tym zostanie wyświetlona treść pliku 404.php


--------------------
Go to the top of the page
+Quote Post
dadexix
post
Post #4





Grupa: Zarejestrowani
Postów: 439
Pomógł: 21
Dołączył: 28.06.2007
Skąd: Bielsko-Biała

Ostrzeżenie: (0%)
-----


jeśli strona jest... to server WWW wyśle headera 200 - ok a jak dasz header 404 not-found to będzie to samo jak by wysłało automatycznie...

Jaka różnica czy Ty powiesz serverowi żeby wysłał headera o tym że strony nie ma czy server zrobi to automatycznie...? chyba żadna...


drugie wyjście...
Kod
RewriteRule ^index\.php$ /jksdflhkjlsdhfkjdshkjg_bla_bla_strona_ktorej_nie_ma.rozszerzenie_dziwne [L]
wtedy server zachowa się tak samo jak by ktoś wpisał adres /jksdflhkjlsdhfkjdshkjg_bla_bla_strona_ktorej_nie_ma.rozszerzenie_dziwne... jeśli tej strony nie będzie... pokaże headera że strony nie ma oraz wywali deflautowego errora(czyli 404.php)

Ten post edytował dadexix 9.01.2008, 14:19:48


--------------------
"Na przykład zmiennej $jestem_najlepszy przypisujemy wartość logiczną TRUE"
Ja: użyj funkcji[...]
Grins: mów normalnie do mnie a nie po polsku
Ja: normalnie to znaczy jak?
Grins: No w PHP... inaczej mój parser ledwo kuma:)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 19:47