簡體   English   中英

在沒有.htaccess的情況下開發網站導航有哪些替代方案?

[英]Which alternatives do I have for developing a website navigation without .htaccess?

理論上:幾乎所有現代網站都以這種方式工作:

somedomain.com/layer1/layer2/action

例如:

http://stackoverflow.com/questions/ask

通常,這是通過.htaccess和ModRewrite Engine完成的。 不久之前,我偶然發現了一篇文章,描述了一些來自php的東西。 我不記得這個名字了。 這段PHP代碼知道當前打開的URL。 它能告訴我們調用哪個域,調用什么TLD,第一個目錄是什么,第二個目錄是什么,被調用文件是什么等等。

我知道Kohana Framework使用這種技術,但不知道在哪里看。 有人熟悉這個嗎?

你的意思是使用PATH_INFO環境變量。 見例如這里

但是,如果不訪問.htaccess設置,則使用此方法的路徑中始終會有一個filename.php

www.domain.com/filename.php/questions/ask/

在大多數情況下,.htaccess表面下發生的是你正在尋找的東西。 很多情況下.htaccess文件只是將任務委托給index.php文件,該文件本身准備處理表示控制器,方法和參數的傳遞值。

我不明白為什么你不能簡單地創建自己的.php文件來解析url並從那里處理值。 您只需使用該.php文件作為所有網址的基礎:

www.mysite.com/index.php/controller/method/parameter1/parameter2

您可以使用apache的錯誤文檔,但它只是一個黑客(也作為重寫)而不是一個干凈的解決方案。

您可以使用HTTP標頭的組合,但在某些Web服務器上這些標頭可能不可靠。 要查看服務器上可用的HTTP標頭,請使用以下命令創建一個頁面:

<?php phpinfo(); ?>

查找PHP變量部分,特別是這些是您可以使用的部分:

_SERVER["HTTP_HOST"]
_SERVER["SCRIPT_NAME"]

看看Front控制器模式

基本上,您將所有請求重定向到單個PHP文件,該文件解碼URL並決定下一個操作。

這不是特定於PHP的順便說一句。

暫無
暫無

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

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