Przekierowanie htacces |
Przekierowanie htacces |
16.05.2017, 07:38:33
Post
#1
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 8.03.2016 Ostrzeżenie: (0%) |
Witam serdecznie.
Może na wstępie napiszę co chce osiągnąć i co mam aktualnie. Mam stronkę gdzie sam panel admina mam w osobnym katalogu /admin/ Mam zrobiony routing odpowiednio dla strona.pl/cokolwiek oraz dla moja-strona.com.pl/admin/cokolwiek/. W htacces mam napisane Options FollowSymLinks php_flag session.use_trans_sid off RewriteEngine On DirectoryIndex index.php #php_value memory_limit 12M Options FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^www.moja-strona.com.pl$ RewriteRule ^(.*)$ http://moja-strona.com.pl/$1 [R=301,L] RewriteCond %{HTTP_HOST} ^www.moja-strona.com.pl?([a-zA-Z0-9])$ RewriteRule ^(.*)$ http://moja-strona.com.pl/$1 [R=301,L] RewriteRule ^index\.html$ index.php[NC] #przekierowanie wszystkiego na index. Działa gdy w folderze masz index.php RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule (.*) index.php [L,QSA] #ErrorDocument 404 "Nie ma takiego pliku/folderu" Aktualnie siedzę w panelu admina czyli robię wszystko dla moja-strna.com.pl/admin/... Mam katalog admin także jak robię cokolwiek na tym katalogu to wszystko jest ok, ale gdy już chce wpisać coś po adminie np moja-strona.com.pl/admin/news/ to już przerzuca mnie na index główny (w głównym katalogu) no bo nie ma katalogu news w katalogu admin (admin/news/). I tu moje pytanie. Jak zrobić w htacces (Wiem, że da się to zrobić inaczej. Wiem, że mogę np w głównym folderze zrobić preg_match("/^\/admin\*?/", $_SERVER['REQUEST_URI'] i odpowiednio wczytywać , ale mi chodzi typowo o htacces) przekierowanie na katalog /admin/ za każdym razem gdy w adresie zaraz po domenie znajduje się /admin/, /admin/cos/, /admin/cos/cos2/ itp czyli np (moja-strona.com.pl/admin/ LUB moja-strna.com.pl/admin/news/ ) itp. Z góry dziękuje. Ten post edytował tarzinio 16.05.2017, 08:06:34 |
|
|
16.05.2017, 16:48:16
Post
#2
|
|
Grupa: Zarejestrowani Postów: 239 Pomógł: 32 Dołączył: 10.03.2004 Ostrzeżenie: (10%) |
RewriteEngine on RewriteCond %{HTTP_HOST} ^www.moja-strona.com.pl$ RewriteRule ^admin/(.*)$ http://moja-strona.com.pl/admin/?action=$1 [R=301,L] dodać jako pierwsza taka regułe, że wszystko co tyczy sie katalogu admin ma kierować na index.php w adminie, nei wiem czy dobrze to napisałem ale tak to trzeba rozwiązać. Ten post edytował Lord 16.05.2017, 16:51:47 |
|
|
17.05.2017, 06:13:08
Post
#3
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 8.03.2016 Ostrzeżenie: (0%) |
Niestety nie działa. Ale z tego co widzę to wywala mi to co mam poza /admin/ do zmiennej action.
|
|
|
17.05.2017, 20:33:42
Post
#4
|
|
Grupa: Zarejestrowani Postów: 239 Pomógł: 32 Dołączył: 10.03.2004 Ostrzeżenie: (10%) |
znaczy nie jestem pewien czy dobrze to napisałem :] nie chce mi sie tego testować
chyba powinno to być jednak niżej jak masz regułe RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule (.*) index.php [L,QSA] to ona oznacza ze wszystko co masz przekieruj na index.php w katalogu głownym o ile nie ma pliku i ktalogu okreslonego dlatego jak nie masz katalogu /admin/cokolwiek/ to przekierowuje ci na główny index twojej strony dlatego chyba powinno to wygladać tak RewriteRule ^admin/(.*) admin/index.php?tocowpisalespo=$1 [L,QSA] RewriteRule (.*) index.php [L,QSA] ogolnie musisz przed ta głowna reguła przekierować sobie wszystko z katalogu admin na index.php w adminie ;P, albo obsłuzyc to php w głównym index.php |
|
|
Wersja Lo-Fi | Aktualny czas: 26.04.2024 - 23:30 |