我是一般PHP的新手和web開發人員,但已經是一名程序員5年了。我試圖用記事本從頭開始在我自己的網站上編輯我的PHP文件和我的服務器的WAMP。我能夠在Safari,Chrome和Firefox中查看我的文件,但IE瀏覽器(我們都知道IE並不是最棒的),因爲我使用了一些HTML5的東西。無論如何,我有一個包含我的文件頭,菜單和頁腳的文件夾。我有一個包含這些文件的index.php文件,並且可以很好地顯示它們。在頁面的中心是我想要的內容。爲了保持網站的清潔,我製作了不少文件夾,並在其中放置了相同的index.php文件(例如Profile/index.php,Forums/index.php等)。我做到了這一點,所以當我去localhost/mysite/profile /時,它向我展示了我想要使用的模板。但是,有一個更好的方式來使用該模板,並有一個更好的方式來擁有乾淨的網址。我目前沒有託管這個網站,所以我不知道我是否可以訪問htaccess文件(甚至不知道它是誠實的,只是看到它提到),但我很好奇有文件夾結構(每個菜單項一個文件夾)是正常還是正常練習?我也很好奇,如果有一種方法可以使用index.php,而無需每次進行小改動時都複製粘貼。任何幫助,將不勝感激。謝謝。需要php模板幫助和乾淨的url幫助
回答
複製index.php文件並不是我真正想要的方式。這似乎很混亂,還有其他一些選擇。如果你希望網址乾淨和搜索引擎友好,你應該看看url rewriting using .htaccess
你說你不確定你是否有一個服務器「訪問htaccess文件」,但如果你可以上傳文件,你總是可以上傳.htaccess文件 - 問題在於Web服務器並不總是使用它們,或者可能沒有啓用mod_rewrite。在這種情況下,您可以使用http://www.example.com/index.php?u=/Profile/foo
的格式(這也是我處理url重寫的首選方式)。
在你的index.php中,請確保閱讀mod_rewrite傳遞的請求的url參數,並在你需要的文件夾中包含任何文件。實際上,你甚至不需要「物理」文件夾結構,你可能想用類或類似的東西來實現它。 (我相信我會)。
我真的會推薦你去看看一個好的PHP框架,例如CodeIgniter。即使你決定從頭開始編碼所有東西,你仍然可以學到很多關於URL處理,數據庫,MVC模式,模板引擎,數據庫抽象層和PHP編碼的最佳實踐。
你的答案是htaccess文件,就是「文件夾結構」轉換爲$ _GET值的
例如,
,如果你在website.com/Profile/是你可以寫一個htaccess線將轉換到這website.com/index.php?folder=Profile
的htaccess:
RewriteEngine on
RewriteRule ^/(.*)/$ index.php?folder=$1 [NC,L,QSA]
RewriteRule ^/(.*).html$ index.php?folder=$1 [NC,L,QSA]
那麼,就是這樣,我想要的文件夾結構就像website.com/profile/。理想情況下,假設我想查看userid的1234配置文件,我希望URL爲website.com/profile/1234/。 – XstreamINsanity
重複這個過程
RewriteEngine on RewriteRule ^/(.*)/(.*)/$ index.php?folder=$1&id=$2 [NC,L,QSA] RewriteRule ^/(.*)/(.*)/.html$ index.php?folder=$1&id=$2 [NC,L,QSA]– PvdL
如果您在模板計劃我建議用現有的平臺像Symfony,Zend Framework,或Smarty。 Smarty可能是最容易實現的,它幾乎是純粹用於模板的。鑑於Symfony和Zend Framework是大包裝,有很多花裏胡哨的東西。
如果我打算做純模板,我會看看Smarty。我現在使用Zend Framework來處理當前所有的PHP項目,但它的學習曲線非常陡峭。你的前幾個星期會令人沮喪。
就網址而言,.htaccess
可能是首選方法(至少在我的書中)。 Zend Framework和Symfony都有一種默認的URL編寫風格,看起來像http://host/controller/action
,其中控制器將是配置文件或論壇。您不一定非得看到host/profile/index
,它可能是host/profile
或host/profile/edit
,其中編輯是正在執行的操作。
是的,我需要調查htaccess一些,我正在閱讀有人給我上面的鏈接。但是,就模板而言,這些軟件包實際上做了什麼?意思是,這些文件的內容看起來像使用模板。我使用模板的想法就像在ASP中有一個模板,他們有
Smarty將是您最簡單的純模板,因爲它不需要您實現MVC結構(儘管我強烈推薦它)。它的標籤允許你保存內容,使用變量,並循環收藏以及許多其他的東西。 – ashurexm
嗯,我現在正在閱讀Symfony的指南,因爲有些東西引起了我的注意。這只是一個長時間的閱讀。 :) – XstreamINsanity
- 1. 需要幫助PHP
- 2. PHP幫助需要
- 3. 需要PHP和MySQL幫助
- 4. 需要幫助PHP和MySQL
- 5. PHP模板幫助
- 6. 需要幫助的URL
- 7. 需要幫助的PHP php
- 8. 需要幫助處理URL
- 9. asp.net URL rewriting幫助需要
- 10. 需要幫助的PHP
- 11. 需要幫助的PHP preg_match
- 12. 需要幫助的在PHP
- 13. 需要幫助
- 14. 需要幫助
- 15. 需要幫助
- 16. 需要幫助編寫乾淨的有組織的JavaScript代碼
- 17. Python TKinter Threading幫助需要的幫助
- 18. 需要幫助使用模板積木
- 19. 需要幫助設置編輯模板
- 20. 需要幫助創建一個乾淨的導航標題
- 21. 幫助到港口PHP函數做 「乾淨的URL」 到C#
- 22. 需要PHP API幫助
- 23. PHP功能幫助需要
- 24. 需要幫助構建php
- 25. 需要幫助PHP數組
- 26. jquery ajax php需要幫助
- 27. 需要幫助PHP domDocument
- 28. PHP類Degin - 需要幫助
- 29. 需要幫助Php isset()
- 30. Php-CodeIgniter需要幫助
是的,我不知道我要在哪裏託管它將允許我訪問該文件。我知道可能有其他網站可以讓我訪問它,但因爲它只是爲了好玩,它會在一些便宜的主機上,我還不確定。但是如果允許我訪問它,我會保留該鏈接供將來使用。謝謝。 – XstreamINsanity
是的,我旁邊的同事使用codeigniter(剛開始真的)說,有很多框架已經做了我想做的事情。但是,因爲我是一名工程師,所以我總是嘗試從頭開始做一些事情,以便更好地理解它。另外,由於某些原因,我對Eclipse不太瞭解。我可能需要休息一個星期,以便我可以花一些時間來學習它和CodeIgniter。謝謝。 – XstreamINsanity
你真的不需要Eclipse來使用CI。我自己並不是一個大的Eclipse粉絲。我真的瞭解你對於從頭開始做什麼感覺 - 這並不意味着你不能看看別人是如何解決問題的,對嗎?在我仔細觀察了一些框架之前,我花了幾年的時間做了很多艱難的工作 - 這真是一個頓悟。我希望你會喜歡它,就像我一樣:) –