Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Przekierowanie z głownego adresu na index.html
Forum PHP.pl > Forum > PHP
gromateist
Witam,
Zrobiłem sobie serwis w joomli i serwer na którym stoi moja strona w pierwszej kolejności wyświetla stronę index.php, a nie index.html. Do tego nie mogę nic zmienić w pliku .htacces (serwer nie reaguje na zmiany), a więc muszę skorzystać z innego rozwiązania.

I teraz o co mi chodzi:
Chciałbym, aby po wpisaniu głównego adresu strony najpierw odpalała się strona index.html, na której jest powitanie i dwa butony wejdź i wyjdź. (Po kliknięciu na przycisk wejdź, link przenosiłby do strony index.php.)

Mógłbym mi ktoś napisać kod do umieszczenia w index.php dla np. takiej strony http://przyklad.pl, który powodowałby, że jak jest wpisany w przeglądarce adres: www.przykład.pl czy http://przykład.pl to przenosi mnie do strony index.html a nie index.php? Dopiero z tej strony index.html byłby odnośnik do index.php. Jeśli wpisałoby się adres normalnie do pliku index.php to oczywiście nie byłoby przekierowania do index.html, tylko w wypadku wpisania głownego adresu strony takie przekierowanie by istaniało. Trochę namotałem, ale strarałem się wytłumaczyć jaknajlepiej tongue.gif

W ogóle czy coś takiego da się zrobić?

Proszę Was, bo sam raczej tego nie napiszę. Nie znam się na php :/
Foxx
Można to zrobić za pomocą instrukcji header().
Jednak rozwiązanie to brzmi źle. Zrób swoje przyciski od razu w pliku index.php.
gromateist
Nom właśnie to tak być nie może, bo nie jest tak łatwo zmienić stronę startową w joomli żeby wyglądała inaczej niż reszta, bo stronka index.php korzysta z templatki dla całego serwisu, poza tym wyświetlane są na niej newsy i inne moduły - jednym słowem chyba lepiej zastosować skrypt niż modyfikować całą stronę startową i przy okazji skórkę, żeby była inna dla strony głównej.
nexis
Poniższe rozwiązanie zadziała jeśli skrypt index.php będzie domyślnie wywoływany zawsze z parametrem, ale w przypadku Joomli chyba właśnie tak jest.

  1. <?php
  2. if ($_SERVER['REQUEST_URI'] == $_SERVER['SCRIPT_NAME']) {
  3.  header('location:index.html');
  4.  exit;
  5. }
  6. ?>
gromateist
Niestety nie działa sad.gif
Ma ktoś inny pomysł?
Foxx
To musi działać:
  1. <?php
  2. if(preg_match('/index.php/', $_SERVER['REQUEST_URI'])){
  3.  header('Location: index.html');
  4. }
  5. ?>


Wiem, wiem, a oto szybsza wersja:
  1. <?php
  2. if(strstr($_SERVER['REQUEST_URI'], 'index.php')){
  3.  header('Location: index.html');
  4. }
  5. ?>
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.