[英]URL Rewrite based on trailing slashes in requested url
我正在一個動態的php網站上,該網站提供數據庫中的內容。 目前我有四個PHP文件- index.php
, a.php
, b.PHP
, c.php
。 這些將來自數據庫的結果用作請求的URL。 例如。
如果請求的網址為example.com
則index.php
提供結果。
如果所請求的網址是example.com/xyz.html
則a.php
首先從該網址中准確輸入xyz
,然后將結果提供給xyz
。 [將example.com/a.php
重寫為example.com/xyz.html
]
如果請求的URL是example.com/x/y.html
則b.php
首先從請求的URL中提取x
和y
,然后將結果提供給y
頁面[將example.com/a.php/b.php
重寫為example.com/x/y.html
]。
如果要求的網址是example.com/x/y/z.html
則c.php
首先從網址中提取x
, y
, z
,然后將結果提供給z
頁面(重寫example.com/a.php/b.php/c.php
到example.com/x/y/z.html
)。
簡而言之,如果請求的網址是-
example.com
或example.com/
結果將由index.php
example.com/anything.html
然后結果將由a.php
example.com/anything/anything.html
然后結果將由b.php
example.com/anything/anything/anything.html
然后結果將由c.php
解析
那么如何使用URL重寫實現此類功能? 請使用.htaccess
代碼答復此功能。
將此代碼放在您的DOCUMENT_ROOT/.htaccess
文件中:
DirectoryIndex index.php
RewriteEngine On
RewriteRule ^(?!(a|b|c)\.php$)[^/.]+\.php$ /a.php [L,NC]
RewriteRule ^[^/]+/[^/.]+\.php$ /b.php [L,NC]
RewriteRule ^[^/]+/[^/]+/[^/.]+\.php$ /c.php [L,NC]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.