Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Problem z przekierowaniem
#1
Witam wszystkich odwiedzających ten temat. Tak jak można zauważyć po tytule, mam problem z przekierowaniem strony na inny adres. Chodzi o to, że chciałem aby (przykładowo) witryna "www.aaa.pl/bbb" była dostępna pod adresem "www.aaa.pl" więc zrobiłem przekierowanie z poziomu php'a i dodałem w pliku index:

<?php
header('Location: http://www.aaa.pl/bbb/');
?>

Wszystko jest ok i przekierowanie działa tylko chciałbym mieć także możliwość dostępu do strony, która wcześniej była dostępna pod pierwotnym adresem "aaa.pl" i nie mam zielonego pojęcia jak to zrobić :/

Nie jestem profesjonalnym webmasterem tylko gościem, który ma bardzo słabe pojęcie (ale jednak ma) na temat tworzenia i edytowania stron www. Dodam jeszcze, że witryna "aaa.pl" została stworzona w joomli, natomiast "aaa.pl/bbb" ktoś napisał w phpie i jest to sklep internetowy, są to dwie oddzielne strony. Ja nie jestem twórcą żadnej z nich, otrzymałem jednak odgórne polecenie, że tak ma to funkcjonować no i cóż... muszę wykonać zadanie a nie mam za bardzo możliwości kontaktu z żadnym z tych webmasterów dlatego proszę o pomoc tutaj.

Całość miałaby wyglądać tak, że po naciśnięciu na stronie sklepu (aaa.pl/bbb) przycisku "o firmie" powinna się otwierać pierwotna strona "www.aaa.pl" jednak nie mogę podpiąć przecież pod ten button po prostu adresu, bo zrobiłem przecież wcześniej przekierowanie i wyświetli mi się strona sklepu aaa.pl/bbb.

Posiadam wszystkie hasła i kody dostępu aby edytować obie strony (ftp, baza danych, hosting itp.) oprócz haseł do serwera Apache.

Ma ktoś pomysł co mógłbym zrobić?

Wstępnie myślałem aby zrobić coś takiego, że po kliknięciu na stronie sklepu (.../bbb) przycisku "o firmnie" został uruchomiony link do strony www.aaa.pl jednak bez przekierowania na "www.aaa.pl/bbb". Czyli w tym jedynym przypadku kiedy klikam z poziomu sklepu nie działa przekierowanie, które wcześniej zrobiłem (bo strona będzie się zapętlać i wejdę ponownie na sklep[ale zamotałem]). Rozumiecie o co mi chodzi?

Tylko nie wiem czy coś takiego się da zrobić, czy jest to możliwe, jeśli tak to jak i gdzie to umieścić? Czy można wprowadzić jakiś wyjątek dla przekierowania? Jestem kompletnym laikiem dlatego pytam.
Odpowiedz
#2
Kod PHP:
<?php
if($_GET['a'] == 'dostep){
// tu możesz zostawić puste
}
else{
header('
Locationhttp://www.aaa.pl/bbb/');
}
?>

I wtedy wchodzisz na stronę z dopiskiem ?a=dostep i masz starą stronę.
Odpowiedz
#3
Dzięki za odpowiedź tylko nie bardzo rozumiem co mam z tym kodem zrobić i co w nim zamienić (oprócz www.aaa.pl/bbb - bo to jasne). W miejsce "a" i "dostep" mam cos wstawic czy jak?

I rozumiem, że mam to umieścić w pliku index.php tam gdzie wcześniej umieściłem poprzednie przekierowanie? Tylko teraz czy tamto mam skasować i zamiast tego wkleić Twój kod czy pod spodem, pod moim przekierowaniem?

Bo wpisałem kod podany przez Ciebie w sposób następujący:

<?php
if($_GET['a'] == 'dostep){
}
else{
header('Location: http://www.aaa.pl/bbb/'); //wstawiając oczywiście odpowiedni adres
}
?>

I wyskoczyło mi kiedy próbowałem wejść na stronę aaa.pl:

Parse error: syntax error, unexpected T_STRING in /home/www/aaa/www/index.php on line 5

Czyli, że coś nie tak w 5 linii, czyli tej w której jest adres, sprawdziłem dokładnie i nie zrobiłem żadnej literówki?!

Może i moje pytania są banalne ale serio nie znam się na tych sprawach prawie w ogóle :/
Odpowiedz
#4
Tam kolega zgubił apostrof, powinno być tak: if($_GET['a'] == 'dostep'){
Odpowiedz
#5
(03-12-2012, 21:27)Engine napisał(a): Tam kolega zgubił apostrof, powinno być tak: if($_GET['a'] == 'dostep'){

Teraz strona działa i po wpisaniu "aaa.pl" pojawia się tak jak poprzednio "aaa.pl/bbb" czyli jest ok.
Tylko teraz dalej mam problem z wejściem na pierwotną stronę "aaa.pl" bowiem po wpisaniu w adres przeglądarki "www.aaa.pl/?a=dostep" pojawiają mi się takie oto treści:

/** * @package Joomla.Site * @copyright Copyright © 2005 - 2012 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ // Set flag that this is a parent file. define('_JEXEC', 1); define('DS', DIRECTORY_SEPARATOR); if (file_exists(dirname(__FILE__) . '/defines.php')) { include_once dirname(__FILE__) . '/defines.php'; } if (!defined('_JDEFINES')) { define('JPATH_BASE', dirname(__FILE__)); require_once JPATH_BASE.'/includes/defines.php'; } require_once JPATH_BASE.'/includes/framework.php'; // Mark afterLoad in the profiler. JDEBUG ? $_PROFILER->mark('afterLoad') : null; // Instantiate the application. $app = JFactory::getApplication('site'); // Initialise the application. $app->initialise(); // Mark afterIntialise in the profiler. JDEBUG ? $_PROFILER->mark('afterInitialise') : null; // Route the application. $app->route(); // Mark afterRoute in the profiler. JDEBUG ? $_PROFILER->mark('afterRoute') : null; // Dispatch the application. $app->dispatch(); // Mark afterDispatch in the profiler. JDEBUG ? $_PROFILER->mark('afterDispatch') : null; // Render the application. $app->render(); // Mark afterRender in the profiler. JDEBUG ? $_PROFILER->mark('afterRender') : null; // Return the response. echo $app;

Czyli dla mnie masło maślane :/

Nie wiem, być może coś źle zrobiłem, albo źle was zrozumiałem. Jeśli mielibyście jakieś wskazówki dla mnie byłbym bardzo wdzięczny.

P.S. Po wpisaniu "www.aaa.pl/?a=dostep/" (ze slashem) wchodzę ponownie na stronę "www.aaa.pl/bbb".
Odpowiedz
#6
Musisz wpisać adres wraz z plikiem jaki chcesz wyświetlić czyli
www.aaa.pl/index.php?a=dostep
http://webmaster.na6.waw.pl
Odpowiedz
#7
Ok, powiedzmy, że sobie z tym poradziłem:

if($_GET['a'] == 'dostep'){
// tutaj wkleiłem cały kod, który znajdował się w index.php
}
else{
header('Location: http://www.aaa.pl/bbb/');
}
?>

W sumie logiczne, ze trzeba określić co się wykonuje po tym if'ie.

Ok, to śmiga i faktycznie po wpisaniu "http://www.aaa.pl/?a=dostep" pojawia się stara strona jak chciałem. Tylko teraz pojawił się inny problem. Ta stara strona posiada podstrony i teraz kiedy próbuję wejść na jakąkolwiek z nich (np. kontakt, czy cokolwiek innego) przekierowuje mnie na "aaa.pl/bbb", a chcę mieć możliwość poruszania się po całym starym serwisie "aaa.pl", nie tylko wyświetlać stronę główną.

Co w takim wypadku?
Odpowiedz
#8
Po:
1. nie znamy kodu Twojej strony
2. może zadziała dodanie do wszystkich linków ?a=dostep
3. opisz dokładnie do czego potrzebna Ci ta strona to może znajdziemy inne rozwiązanie
Odpowiedz
#9
1,3. No tak, nie znacie... mogę napisać, że stara strona "aaa.pl" jest w joomli i jest to strona firmy w której pracuję, natomiast "aaa.pl/bbb" to sklep internetowy tejże firmy napisany w phpie. Chodziło o to by sklep był stroną główną firmy jednak bez zmieniania adresu a strona firmy (wcześniej dostępna pod adresem "aaa.pl") była dostępna z poziomu sklepu np. po przyciśnięciu buttona "o firmie".

2. chodzi o to by w każdej z podstron (w index.php danej podstrony) dodać taki sam kod (z tym ?a=dostep) jak przy głównej?
Odpowiedz


Podobne wątki…
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Problem z przekierowaniem [email protected] 0 1,226 14-04-2012, 15:04
Ostatni post: [email protected]

Skocz do:


Użytkownicy przeglądający ten wątek:
Sponsorzy i przyjaciele
SeoHost.pl