Jak zaimplementować routing adresów URL w PHP.Jak wdrożyć routing adresów URL w PHP
Odpowiedz
Jeśli używasz Apache można zrobić routing URL za pośrednictwem mod_rewrite.
Mały przykład:
RewriteEngine On
RewriteRule ^(dir1)/?(path2)? main.php?dir=$1&path=$2
To będzie jakieś życzenie jak
http://yoursite.com/dir1/path1
obsługiwanym przez
http://yoursite.com/main.php?dir=dir1&path=path2
Więcej przykładów here.
Druga alternatywa mieć każde żądanie przekierować do pojedynczego pliku php
RewriteEngine On
RewriteRule (.*) main.php?request=$1
a następnie zrobić to w kodzie, gdzie można wykorzystać do similar approach, poprzez zestaw wyrażeń regularnych, które są dopasowane przez niektóre kod, a następnie przekierowany przez header() lub tylko wewnętrznie.
Przede wszystkim będziesz potrzebować Apache's (Przypuszczam, że twój serwer WWW to Apache)mod_rewrite
, aby być włączony.
Następnie należy utworzyć RewriteRule, aby przekierować wszystko na swoją stronę index.php.
Coś takiego może zrobić:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* index.php
To przekieruje każde żądanie do pliku, który nie istnieje na index.php; oznacza to, że jeśli żądany adres URL to www.example.com/blah, to w rzeczywistości będzie to wywołanie index.php.
O tym, oto kilka z linku, który może pomóc:
Następnie, ta strona musi określić, co ma być wyświetlane w zależności od jaki początkowy URL został wywołany - lub jakie parametry są odbierane.
Można to zrobić na przykład za pomocą Design Pattern Front Controller - jest on zaimplementowany w większości nowoczesnych frameworków PHP.
Na ten temat było wiele pytań dotyczących tego tematu; niektóre z nich (i ich odpowiedzi) prawdopodobnie mogą ci pomóc. Na przykład:
Powinna to być standardowa odpowiedź na to pytanie. Działa na każdym języku po stronie serwera działającym na Apache, a stosy reguł przepisywania nie są tak trwałe. – WCWedin
- 1. Mapowanie adresów URL w PHP?
- 2. Strategie mapowania kontrolerów adresów URL (PHP)
- 3. ASP.NET Webforms 4.0 Routing: Jak pozbyć się fizycznych adresów URL
- 4. Routing URL w Javie
- 5. Google API - skracacz adresów URL z PHP
- 6. Routing bazujący na adresach URL
- 7. Przepisywanie adresów URL Codeigniter
- 8. Jak przekierować za pomocą adresów URL "www" na bez adresów URL "www" lub odwrotnie?
- 9. Jak zapobiec zawijaniu adresów URL w TextView?
- 10. Rekonstrukcja bezwzględnych adresów URL z względnych adresów URL na stronie
- 11. java.nio.file.Path dla adresów URL?
- 12. Routing w Symfony2: opcjonalny parametr pl czterech adresów URL dla jednej trasy
- 13. MVC Routing pozbyć/indeks URL
- 14. Symfony2 translate URL and Routing
- 15. Jak routing ASP.NET działa wewnętrznie?
- 16. Jak działa algorytm dopasowywania adresów URL Facebooka?
- 17. Java: Jak odczytać zawartość przekierowanych adresów URL?
- 18. Jak wdrożyć wyjątku łańcuchowym w PHP
- 19. Jak rozszerzyć sprawdzanie adresów URL jquery.validate?
- 20. Standardowa normalizacja adresów URL - Java
- 21. Używanie nazw adresów URL w widokach
- 22. itun.es Składnia skracania adresów URL
- 23. Oprogramowanie do skracania adresów URL?
- 24. Używanie czystych adresów URL w RESTful API
- 25. Jak stworzyć przyjazny URL w php?
- 26. .htaccess przekierowanie uszkodzonych adresów URL
- 27. Uchwyt otwierania wielu adresów URL w AppDelegate
- 28. Generowanie adresów URL tras w Express
- 29. Generowanie prywatnych, unikatowych, bezpiecznych adresów URL
- 30. Ustawianie adresów URL w konsoli Eclipse
http: // stackoverflow.com/questions/1316021/how-to-use-url-routing-in-php – cherouvim
Możliwy duplikat: http://stackoverflow.com/questions/125677/php-application-url-routing. Spróbuj spojrzeć na to pytanie. – Macha
W rzeczywistości, możliwe trzy egzemplarze =) – Zed