Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Sprawdzenie, czy plik został zaincludowany, czy wyświetlony bezpośrednio
Forum PHP.pl > Forum > Przedszkole
esos
Wymyśliłem sobie na stronie następujące rozwiązanie:

  1. <?
  2.  
  3. //w pliku produkt.php sprawdzam, czy mam podany identyfikator produktu
  4. if (!$_GET['id'])
  5. {
  6. //nie mam identyfikatora, wiec wyswietlam ogolna zawartosc dzialu, tj strone informacyjna o grupie produktow
  7. }
  8. else
  9. {
  10. //mam identyfikataor, czyli includuje art.php, ktory wyswietla mi szczegoly wybranego artykulu:
  11. include("art.php");
  12. }
  13. ?>


wszystko działa dobrze, jednak gdzieś kiedyś popełniłem błąd... zalinkowałem bezpośrednio do art.php, google mi to zaindexował, skutkiem czego webmaster tools wrzeszczy, że mam podwójne meta tagi na stronie (co jest prawdą - raz w produkt.php, a 2gi raz w art.php). Jak mogę sprawdzić, czy art.php został wywołany bezpośrednio, czy też został zaincludowany? chciałbym w przypadku wywołania bezpośredniego przekierować googla na poprawnie przygotowaną stronę, by się pozbyć nieszczęsnych powielonych nagłówków.
d3ut3r
wszystkie includy możesz trzymać w podkatalogu np "includes" smile.gif , zrób w głównym katalogu plik robots.txt

i wpisz w nim:

Kod
User-agent: *
Disallow: /includes/


dodatkowo w pliku index.php możesz dać

  1. define('MY_APP',1);


a w pliku art.php

  1.  
  2. if (!defined('MY_APP')){
  3. echo "Bezpośrednie wywołanie pliku";
  4. }
  5.  
esos
Geniusz tkwi w prostocie...
d3ut3r - zrealizuję to nieco inaczej, jednak dałeś mi pomysł jak to ruszyć. Dzięki wink.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.