在我的域example.com中,我想將所有頁面文件放在根目錄下,例如名爲的文件。因此,例如我把about.php的文件目錄,並希望讓用戶與此URL訪問此頁:example.com/about
或例如把用戶目錄中的文件目錄,並把的login.php它,並希望讓用戶與訪問:example.com/user/login
其實我想刪除.PHP和文件從網址。apache mod重寫幾個條件來製作自定義URL
和
如果不存在這些文件,它應該像加載的index.php 在根目錄的默認文件。例如URL example.com/blabla應該映射到的index.php
事實上,我希望有兩個條件,國防部重寫與所提到的優先。
通知:當然我應該能夠在文件中使用像$ _ GET變量,如about.php
更新:在總結,它應該與此邏輯工作:
if the URI isn't a file or directory{
if file/URI.php is a file
load file/URI.php
else
load index.php
}
有些身體給出了使用ErrorDocument 404 index.php
的答案,但這是一個非常糟糕的主意(現在已經刪除了他的答案!)
感謝您的幫助...
好,我用的正是這種方法,但這種方式存在一些問題。例如,如問題中所述,那麼$ _GET變量將不會代表查詢字符串,並且應該使用手動解析,我不喜歡這樣做 – Aliweb
@ali爲什麼$ _GET'不起作用?您可以將所有內容重寫爲'index.php?var1 = $ 1&var2 = $ 2&etc.'。 – jeroen
$ _GET適用於index.php,但不適用於PHP語言在index.php文件中包含的file/pages/about.php。 – Aliweb