簡體   English   中英

根據請求的URL中的斜杠重寫URL

[英]URL Rewrite based on trailing slashes in requested url

我正在一個動態的php網站上,該網站提供數據庫中的內容。 目前我有四個PHP文件- index.phpa.phpb.PHPc.php 這些將來自數據庫的結果用作請求的URL。 例如。

  1. 如果請求的網址為example.comindex.php提供結果。

  2. 如果所請求的網址是example.com/xyz.htmla.php首先從該網址中准確輸入xyz ,然后將結果提供給xyz [將example.com/a.php重寫為example.com/xyz.html ]

  3. 如果請求的URL是example.com/x/y.htmlb.php首先從請求的URL中提取xy ,然后將結果提供給y頁面[將example.com/a.php/b.php重寫為example.com/x/y.html ]。

  4. 如果要求的網址是example.com/x/y/z.htmlc.php首先從網址中提取xyz ,然后將結果提供給z頁面(重寫example.com/a.php/b.php/c.phpexample.com/x/y/z.html )。

簡而言之,如果請求的網址是-

example.comexample.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.

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