ďťż
Podstrony
|
telcocafeChcę, 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 |
|||
Sitedesign by AltusUmbrae. |