Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jeden skrypt wielu userów
Forum PHP.pl > Forum > Serwery WWW
Grzegorz02
Witam,
mam taki problem, nie wiem czy miejsce jest odpowiednie, więc jeśli nie to przepraszam.

Zagadnienie:
http://nr_ip/nowy/

gdzie 'nowy' to nazwa użytkownika oraz bazy danych z której to będą pobierane dalej informacje

dane znajdują się w głównym katalogu (http://nr_ip/)

Pytania:
1. potrzebne jest aby do momentu zalogowania się w pasku adresowym pojawiał się zawsze 'nowy'
2. dane powinny być pobierane z katalogu głównego a nie tak jak adres wskazuje z kolejnego w tym przypadku 'nowy', lub z podkatalogów.
3. chciałbym aby ten 'nowy' był jakby przeźroczysty, dla przeglądarki niewidoczny ale dla mnie w kodzie dostępny ...
4. chciałbym również podpinać domenę pod taki adres, tutaj wydaje mi się sprawa łatwiejsza ponieważ nazwę bazy danych mogę odczytywać w zależności od nazwy domeny,

Proszę o komentarz w tych sprawach.
salfunglandyare
Jeśli serwer www to Apache, zainteresuj się mod_rewrite, w katalogu głównym strony dołóż plik .htaccess w środku:
  1. RewriteEngine On
  2. RewriteBase /
  3. RewriteCond %{REQUEST_FILENAME} !-f
  4. RewriteCond %{REQUEST_FILENAME} !-d
  5. RewriteRule . /index.php

Oznacza to, że wszystkie zapytania do serwera będą przechodziły do index.php CHYBA ŻE dana ścieżka istnieje fizycznie,
np: jeśli na serwerze masz strukturę plików i katalogów
  1. [css]
  2. style.css
  3. [images]
  4. image1.jpg
  5. image2.jpg
  6. index.php


to http://IP/nowy/ przekieruje Ci na index.php, ale http://IP/css/style.css pokaże Ci zawartość style.css

w PHP możesz się później do tego dobrać przez:
  1. $elementy = explode('/',preg_replace('|^\/|','',$_SERVER['REQUEST_URI']));

wtedy dla http://IP/nowy/uzytkownik/costam dostaniesz:
$elementy[0] => 'nowy', $elementy[1] => 'uzytkownik', $elementy[3] => 'costam'

//EDIT oczywiście w konfiguracji apache musisz mieć załadowany moduł mod_rewrite oraz zezwolenie na przetwarzanie .htaccess
Grzegorz02
ok, uruchomiłem mod_rewrite, utworzyłem htaccess, ale przeglądarka zgłasza błąd:

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, webmaster@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
Apache/2.2.22 (Debian) Server at ...


salfunglandyare
a co jest w error.log?
Grzegorz02
zawartość logu:
Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternnalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.
Pyton_000
Masz pętlę przekierowań. Czy w PHP nie robisz gdzieś przekierowania?
Grzegorz02
Nie dodałem tylko wpis do htaccess.
Pyton_000
pokaż .htaccess
Grzegorz02
1.RewriteEngine On

2.RewriteBase /

3.RewriteCond %{REQUEST_FILENAME} !-f

4.RewriteCond %{REQUEST_FILENAME} !-d

5.RewriteRule . /index.php

salfunglandyare
utwórz plik index.php w katalogu głównym tongue.gif

//edit: Ok, bede bardziej precyzyjny.
.htaccess prowadzi wszystkie zapytania dla nieistniejących plików do /index.php, jeśli index.php masz w innej lokalizacji, albo korzystasz np. z default.php albo default.asp, czy cokolwiek innego, to musisz odpowiednio zmienić ostatnia linijke z rewriterule.
Grzegorz02
smile.gif , plik jest.
salfunglandyare
wyrzuc plik .htaccess i sprobuj wejsc: http://twojadomena/index.php - powinien pokazac to, co serwuje index.php. Jeśli dostajesz jakąś normalną odpowiedź, to jest ok
W tym samym katalogu, co jest index.php wstaw plik .htaccess z poprzednia zawartoscia i znow sprobuj wejsc na http://twojadomena/index.php jesli dostaniesz prawidlowa odpowiedz to jest ok, jesli nie, oznacza to ze jest blad w regulach (a nie sadze, bo podobnego pliku uzywam wielokrotne na wielu hostingach) lub masz przekierowanie. Nie wstydz sie, wstaw zawartosc index.php biggrin.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.