![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 43 Pomógł: 0 Dołączył: 2.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
Mam takiego htaccessa:
RewriteEngine on Options +Indexes RewriteRule ^(.*)/?$ index.php?controller=$1 Docelowo chciałbym, żeby wszystko, co jest po slashu było zmienną GET, niezależnie od tego, czy występuje slash na końcu, czy nie. Na przykład zarówno adres /blog jak i blog/ powinien dawać zmienną $_GET['controller']='blog'. Ale niestety tak się nie dzieje, w obu przypadkach otrzymuję: array(1) { ["controller"]=> string(9) "index.php" } Nie wiem dlaczego do zmiennej GET jest przypisywany akurat ciąg znaków "index.php". Dopiero gdy wrzucam na sztywno: RewriteRule ^(.*)/$ index.php?controller=$1 otrzymuję: array(1) { ["controller"]=> string(4) "blog" } Ale chcę, żeby ta zmienna była przypisana nawet wtedy, gdy ktoś wpisze adres bez slasha na końcu. Da się coś poradzić? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Przygotuj sobie .htaccess tak, aby przepisywać adresy bez slasha, na kończące się slashem, lub odwrotnie.
Załatwisz za jednym razem dwa problemy: duplicate content i Twój. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 43 Pomógł: 0 Dołączył: 2.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
Ale pozostaje pytanie: dlaczego wyrażenie w nawiasie jest ignorowane i w zmiennej GET jest "index.php" zamiast niego?
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
To hosting zewnętrzny? Jaki?
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 43 Pomógł: 0 Dołączył: 2.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
Na razie localhost
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Dodaj flagę [QSA]
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 18:11 |