Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Przekierowanie htacces
tarzinio
post 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
Go to the top of the page
+Quote Post
Lord
post 16.05.2017, 16:48:16
Post #2





Grupa: Zarejestrowani
Postów: 239
Pomógł: 32
Dołączył: 10.03.2004

Ostrzeżenie: (10%)
X----



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
Go to the top of the page
+Quote Post
tarzinio
post 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.
Go to the top of the page
+Quote Post
Lord
post 17.05.2017, 20:33:42
Post #4





Grupa: Zarejestrowani
Postów: 239
Pomógł: 32
Dołączył: 10.03.2004

Ostrzeżenie: (10%)
X----


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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 16.04.2024 - 11:03