ďťż

[Apache] mod_rewrite - panel admina jak przekierować?

       

Podstrony


telcocafe

Chcę, aby mod_rewrite przepisywał linki do pliku admin/index.php, jeżeli użytkownik wpisze: domena.com/admin Niestety nie udaje mi się uzyskać zadowalającego efektu. Plik .htaccess:
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([A-Za-z0-9_/]+)$ index.php?a=$1 [L,QSA]Co należy dopisać, aby serwer rozpoznawał, że trzeba przekierować do panelu admina? Po wpisaniu domena.com/admintest powinna wyświetlić się już właściwa strona (nie panel admina).

Może lepiej wszystkie żądania przekierować do 1 pliku index.php i dopiero tam rozpoznać, czy trzeba przejść do PA, czy do witryny? URL dzielę na fragmenty w ten sposób:$URL = isset($_GET['a']) ? explode('/',$_GET['a']) : array('main');Rozważmy adres: domain.com/admin/categories
W przypadku przekierowania mod_rewrite ID modułu ("categories") znajduje się w $URL[0]. Natomiast gdy wszystkie żądania odbiera index.php, nazwa modułu PA jest przechowywana w $URL[1]. Nie będę mógł potem zmienić sposobu przekierowania bez edycji wszystkich plików lub stosowania trików.



napisz sobie front controller ktory bedzie pobieral i parsowal zapytanie z REQUEST_URI

a co do .htaccess to :

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php

Postanowiłem, że wszystkie żądania będzie odbierał plik index.php. Teraz stoję przed kolejnym problemem.

Na początku przypomnę, że w głównym katalogu (localhost) znajduje się .htaccess w regułką:RewriteEngine On RewriteRule (.+) /strona/$1 [L,QSA]Po prostu nie chcę edytować pliku host w systemie. Ona raczej nie ma znaczenia, choć może mylę się?

Katalog strona zawiera kolejny .htaccess:php_value session.use_only_cookies 1 php_value session.use_trans_sid 0 php_value register_globals 0 php_value magic_quotes_gpc 0 RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f #RewriteCond %{REQUEST_FILENAME} !-d - regułka zbędna RewriteRule (.*) index.php?a=$1 [L,QSA]W katalogu strona znajduje się folder admin. Niestety, jeżeli w URL-u odwołam się do folderu admin, Apache przekierowuje przeglądarkę do: localhost/strona/admin/?a=admin

Nie rozumiem, dlaczego. Co robię źle?

00:07 - poradziłem sobie - zmieniłem nazwę folderu z plikami PA i na razie jest dobrze.
Użytkownik Ferrari edytował ten post 01 maj 2009, 23:04
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.