我想實作的URL。https://example.com/VdnbzeHfua/ep1_mp4
注意:我的頁面(index.php)位于根檔案夾中
當我訪問這個URL https://example.com/VdnbzeHfua/ep1_mp4時,它不應該向前看子檔案夾
我將用PHP獲得并使用URL中的值(index.php在根檔案夾中),像這樣
<?php
$url = $_SERVER['REQUEST_URI'/span>]。
................
...........
? >
如何用php和.htaccess實作這一點?
請任何人幫助我解決這個問題。
uj5u.com熱心網友回復:
你需要一個標準的前臺控制器模式,這可以通過.htaccess中的一個指令實作:
FallbackResource /index.php
任何本來會引發404的請求都會被傳遞到/index.php,而不是
另一種方法(可能更常見)是使用mod_rewrite代替。例如:
RewriteEngine On
RewriteRule ^index.php$ - [L]
重寫后 %{REQUEST_FILENAME}! !-f
重寫密碼 %{REQUEST_FILENAME}! !-d
RewriteRule .index.php [L]
盡管這本身并沒有比上面的FallbackResource指令做得更多。
這兩種方法都需要正確設定DirectoryIndex,如果還沒有的話(這通常會在服務器配置中被設定為index.php)。例如,在你的.htaccess的頂部,在現有指令之前:
DirectoryIndex /index.php
你似乎已經解決了PHP部分的問題。即檢查$_SERVER['REQUEST_URI']的值,以便檢查請求的URL,順便也包含查詢字串。
然后你可以根據需要包含必要的PHP檔案。例如,這可以是一些簡單的東西:
if ($url == '/about') {
include('content/about.php')。
但可以根據你的意愿來做得更復雜。很明顯,一個if結構不會擴展到1000個頁面。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/306669.html
標籤:
上一篇:Kestrel::通過appsettings.json與多個HTTP和HTTPSurls系結
下一篇:PHP對大陣列進行分步迭代
