簡體   English   中英

如何在PHP中實現URL路由

[英]How to Implement URL Routing in PHP

如何在PHP中實現URL路由。

如果使用Apache,則可以通過mod_rewrite進行URL路由。

小例子:

RewriteEngine On
RewriteRule ^(dir1)/?(path2)? main.php?dir=$1&path=$2

那會有任何要求

http://yoursite.com/dir1/path1 

由...提供

http://yoursite.com/main.php?dir=dir1&path=path2

這里有更多示例。

另一種選擇是將每個請求重定向到單個php文件

RewriteEngine On
RewriteRule (.*) main.php?request=$1

然后在代碼中進行操作,您可以使用類似的方法方法是使一組正則表達式與某些代碼匹配,然后通過header()或僅在內部進行重定向。

首先,您需要啟用Apache (我的Web服務器是Apache)的 mod_rewrite


然后,您需要創建一個RewriteRule來將所有內容重定向到index.php頁面。
這樣的事情可以做:

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* index.php 

它將每個請求重定向到index.php不存在的文件; 這意味着,如果所請求的URL是www.example.com/blah,則實際上將調用index.php。

關於這一點,這里有幾個鏈接可以幫助您:


然后,該頁面必須根據調用的初始URL或接收的參數來確定必須顯示的內容。

例如,可以使用“ 設計模式前端控制器”來完成此操作-例如,它已在大多數現代PHP框架中實現。


關於SO的這個問題有很多問題; 其中一些(及其答案)可能會為您提供幫助。 例如 :

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM