Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [CodeIgniter]jak uniemożliwić dostęp do strony z kilku adresów
szajens
post 8.08.2016, 10:02:43
Post #1





Grupa: Zarejestrowani
Postów: 150
Pomógł: 4
Dołączył: 3.01.2010

Ostrzeżenie: (0%)
-----


Witam,

Jak wiem dostęp do adresów w CI jest na zasadzie kontroler/metoda dla mnie nie dopuszczalne jest aby był dostęp do jednej strony z 2 lub więcej adresów.
  1. localhost/sklep/pokaz/$1
  2. localhost/index.php/sklep/pokaz/$1


Jeżeli użyje wildcard CI i np:

  1. $route['produkt/(:num)'] = "sklep/pokaz/$1";


to nagle mam dostęp z 3 adresów do tej samej strony(wyniku) co nie służy zupełnie SEO:

  1. localhost/sklep/pokaz/$1
  2. localhost/index.php/sklep/pokaz/$1
  3. localhost/prosukt/$1


Jest w ogóle możliwość rozwiązania tego problemu?
Go to the top of the page
+Quote Post
rad11
post 8.08.2016, 10:17:39
Post #2





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Spróbuj dodać do htaccess:

  1. RewriteEngine on
  2. RewriteCond $1 !^(index\.php|images|robots\.txt)
  3. RewriteRule ^(.*)$ /index.php/$1 [L]


Ogólnie szukaj w google pod frazą : https://www.google.pl/webhp?sourceid=chrome...php%20for%20seo

Ten post edytował rad11 8.08.2016, 10:18:22
Go to the top of the page
+Quote Post
szajens
post 8.08.2016, 12:09:49
Post #3





Grupa: Zarejestrowani
Postów: 150
Pomógł: 4
Dołączył: 3.01.2010

Ostrzeżenie: (0%)
-----


Oczywiście próbowałem wcześniej już podany przez Ciebie sposób. Jednak on daje możliwość wejścia do kontrolera bez potrzeby używania index.php, ale to wcale nie rozwiązuje problemu bo mamy wtedy duble. Jakiś inny pomysł czy odpuścić sobie CI. Powiem szczerze że jako jedyny mi podszedł i zaczynam się go uczyć, szkoda by było dać se z nim spokój.
Go to the top of the page
+Quote Post
Pyton_000
post 8.08.2016, 12:14:55
Post #4





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


Zawsze powinieneś mieć tylko 2 adresy do zasobu. Ten z index.php i bez.
Z index.php rozwiązuje sprawa .htaccess

Każdy dodatkowy adres który mapuje Ci na ten sam zasób tworzysz sobie sam, więc nie bardzo wiem w czym problem.
Go to the top of the page
+Quote Post
szajens
post 8.08.2016, 12:36:06
Post #5





Grupa: Zarejestrowani
Postów: 150
Pomógł: 4
Dołączył: 3.01.2010

Ostrzeżenie: (0%)
-----


no właśnie nie rozwiązuje, można dzięki temu htaccess poprostu wyświetlić zasób bez index.php ale strona jest dalej dostępna pod dwoma adresami (testowane) z index i bez index,

Cytat
Każdy dodatkowy adres który mapuje Ci na ten sam zasób tworzysz sobie sam, więc nie bardzo wiem w czym problem.

chodzi o to że jak stworze sobie sam zasób to nie powinno być go dostępnego pod innym



edit: pierwszy problem rozwiązuje następujący htaccess:
Kod
<IfModule mod_rewrite.c>

# Enable Rewrite Engine
# ------------------------------
RewriteEngine On
RewriteBase /

# Redirect index.php Requests
# ------------------------------
RewriteCond %{THE_REQUEST} ^GET.*index\.php [NC]
RewriteCond %{THE_REQUEST} !/system/.*
RewriteRule (.*?)index\.php/*(.*) /$1$2 [R=301,L]

# Standard ExpressionEngine Rewrite
# ------------------------------
RewriteCond $1 !\.(css|js|gif|jpe?g|png) [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]

</IfModule>


Jednak dalej zastanawiam się nad drugim problemem odnośnie wilcard

Ten post edytował szajens 8.08.2016, 12:42:48
Go to the top of the page
+Quote Post
markonix
post 8.08.2016, 18:58:18
Post #6





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

Ostrzeżenie: (0%)
-----


Może w main kontrolerze sprawdzaj po full adresie czy to adres z index.php w ścieżce i podejmuj odpowiednik krok - przekierowanie na ten sam adres bez index lub 404().


--------------------
Go to the top of the page
+Quote Post
szajens
post 8.08.2016, 19:05:39
Post #7





Grupa: Zarejestrowani
Postów: 150
Pomógł: 4
Dołączył: 3.01.2010

Ostrzeżenie: (0%)
-----


Właśnie myślałem że CI ma coś gotowego, i chciałem uniknąć tego sposobu, mimo tego dziękuje Ci za pomoc.

Go to the top of the page
+Quote Post
aras785
post 8.08.2016, 20:00:45
Post #8





Grupa: Zarejestrowani
Postów: 859
Pomógł: 177
Dołączył: 29.10.2009

Ostrzeżenie: (0%)
-----


Czyli chcesz tylko uruchamiać te kontrolery które masz w routers.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: 23.04.2024 - 23:53