2012-10-20 78 views
0

我正在創建一個相當簡單的網站。在根文件夾中有兩個靜態頁面(Home和Portfolio),並且在/blog中有Wordpress。靜態頁面包括使用require_once("blog/wp-config.php");的Wordpress。刪除文件擴展名並允許「僞目錄」?

該組合頁面將被使用Javascript(或者History.JS或十字路口/散列器)代表的類別和專輯「推」的網址。例如,點擊左側的「婚禮」將導致portfolio/weddings,並且相冊將是portfolio/weddings/jane-jon-smith。這些文件需要直接訪問時纔可用(我向您發送了一個指向相冊的鏈接)。

現在,我設置了它,以便可以從index.phpportfolio.php訪問靜態頁面。我用下面的.htaccess的指令能夠刪除的文件擴展名:

# Remove .php-extension from url 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^([^\.]+)/$ $1.php [L] 

但是,當我試圖訪問一個網址,如portfolio/weddings,我得到一個404錯誤,因爲這不是一個有效的目錄或文件。我一直在尋找,但似乎無法找到任何相關的東西,除了如何刪除擴展名(我工作)。

如何刪除文件擴展名並允許直接訪問這些「假」目錄?

+0

我想我需要重定向匹配任何「組合/ *」,然後郵寄到「組合。 PHP的」。我會怎麼做? – synth3tk

回答

0

發佈我的評論的問題後,打我,也許我應該重定向任何符合「組合/ *」來portfolio.php,並從那裏我可以使用一些功能處理路徑(這是工作成功現在)。

我所做的只是立即加入這行我在這個問題中列出的規則後:

RewriteRule ^portfolio/([^/]+) /portfolio.php?$1 [NC] 
0

Wordpress使用一個前端控制器來創建你所稱的「psuedo-directories」。它獲取url的參數,並將其路由到應用程序控制器以構建視圖層或客戶端所見。

爲了讓Wordpress相應地發送此請求,您需要爲每個投資組合條目設置相應的頁面。您可以使用Wordpress的默認功能來執行此操作。撤消對.htaccess文件的更改,而是將設置中的固定設置更改爲「發佈名稱」。

它可能會更容易只是爲了使用內置的比定製推出的「小部件」爲靜態頁面的動態投資組合。您的靜態頁面可以設置爲顯示具有正確的WP主題的投資組合項目。

關於WordPress的偉大之處在於它可以做的非常高級的事情,只需改變儀表板中的設置即可。我建議你花一些時間研究每個功能可以做什麼,當WP在12月推出下一個版本時,無需爲自己的代碼排除故障,這樣可以節省大量時間和大量麻煩。

+0

感謝您的回答。部分原因是因爲我在這個項目中尋找的複雜性和效果會因爲需要廣泛的黑客入侵或大量插件而變得更加困難,並且主要是因爲我需要一個很好的藉口來學習jQuery/Javascript和更多的PHP。 – synth3tk

+0

很高興至少嘗試!我只是鼓勵你花更多的時間來學習WordPress的繼承功能。我想你會驚訝它可以做什麼,你現在認爲對於Wordpress來說太複雜了。當它歸結時,Wordpress是可用的最強大的MVC/CMS平臺之一。 –

+0

我已經使用Wordpress兩年多了,所以我非常清楚它的功能。我有時候喜歡挑戰自己,就像人應該不時一樣。 :) – synth3tk