Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Problem z RewriteEngine
yupiik
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 13.07.2024

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


Mam problem z RewriteEngine, wywala mi błąd 404 za każdym razem, kiedy w linku pojawi się znak =

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z-_0-9]+)/([a-zA-Z-_0-9]+)/([a-zA-Z-_0-9]+)/([a-zA-Z-_0-9]+)/?$ index.php?$1/$2/$3/$4 [L]
RewriteRule ^([a-zA-Z-_0-9]+)/([a-zA-Z-_0-9]+)/([a-zA-Z-_0-9]+)/?$ index.php?$1/$2/$3 [L]
RewriteRule ^([a-zA-Z-_0-9]+)/([a-zA-Z-_0-9]+)/?$ index.php?$1/$2 [L]
RewriteRule ^([a-zA-Z-_0-9]+)/?$ index.php?$1 [L]

Problem pojawia się kiedy w adresie jest:
http://yupi/gsdgs=fdfgsdgsd
Natomiast nie ma problemu
http://yupi/?gsdgs=fdfgsdgsd

Niestety nie wiem dlaczego niektóre osoby które przekierowywane są na moją stronę z instagrama otrzymują linka z dodatkowymi parametrami jak ten: http://yupi/gsdgs=fdfgsdgsd
Chciałbym aby takie coś przekierowywało się na stronę główną, może być http://yupi albo http://yupi/index.php
Go to the top of the page
+Quote Post
trueblue
post
Post #2





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


A dlaczego miałoby przekierowywać prawidłowo?
W wyrażeniach regularnych reguł obsługujesz wyłącznie znaki a-z, A-Z oraz 0-9, braku tu obsługi znaku =.


--------------------
Go to the top of the page
+Quote Post
yupiik
post
Post #3





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 13.07.2024

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


Dziękuję za wskazówkę, wyrażenia warunkowe to dla mnie koszmar.

Jeśli kogoś to będzie interesowało w przyszłości:

RewriteRule ^([a-zA-Z0-9_=-]+)/?$ index.php?$1 [L]

To rozwiązało problem.
Go to the top of the page
+Quote Post
Tomplus
post
Post #4





Grupa: Zarejestrowani
Postów: 1 879
Pomógł: 230
Dołączył: 20.03.2005
Skąd: Będzin

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


Dlaczego w ogóle tak mocno trzymasz się tego kodu .htaccess? Prawdę mówiąc sam tak robiłem dawno temu i powodowało to zawsze szereg problemów.

Najlepiej zostawić tylko kod, który tylko informuje nas czy dany plik/katalog istnieje, jeżeli nie, to zadanie przejmuje index.php w katalogu strony.
Kod
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d


Samo zarządzanie ścieżkami przejąć routingiem w PHP, tak jak to jest w innych frameworkach czy webaplikacjach.
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 Aktualny czas: 19.08.2025 - 04:52