2016-04-26 37 views
0

我有一種情況,我似乎無法修復! 事情是我在localhost(LAMP)上託管一個網站。 該網站是使用Joomla框架創建的。當我導航到本地主機上的網站時,主頁加載成功。 只要我點擊任何導航鏈接,就會顯示404錯誤。如何修復網站內部導航/ Joomla

例如。主頁網址 -

http://localhost/PortalSources/ 

Nav鏈接 -

http://localhost/PortalSources/tools/safety-assessment-tool.html 

當我手動添加 'index.php' 來的導航鏈接

http://localhost/PortalSources/index.php/tools/safety-assessment-tool.html 

鏈接開始工作和頁面加載成功。

什麼可能會導致此行爲?我該如何解決這個問題,以便我不必手動輸入網站上的每個頁面?

回答

1

你也許可以找到答案在這裏:https://docs.joomla.org/Enabling_Search_Engine_Friendly_(SEF)_URLs

驗證的.htaccess已啓用

檢查你的Apache配置文件允許的.htaccess覆蓋。您必須確保覆蓋已啓用或您的Joomla中的.htaccess文件!根目錄將被忽略或導致錯誤。在你的虛擬主機配置文件中的部分或主(httpd.conf)中的配置文件中,你必須能夠覆蓋下面的示例類似的東西:

<Directory "/home/user/public_html"> 
    AllowOverride All 
</Directory> 

<Directory "/path/to/htdocs"> 
    AllowOverride All Options=[an option],[an option],... 
</Directory> 

還有其他的方法來測試的.htaccess啓用如果您無法訪問您網站的配置文件。請參閱Apache Software Foundation網站上的.htaccess教程以獲取更多信息。

由步驟

步驟這些步驟一步的說明。請按照他們在這裏介紹的順序跟隨他們。如果某個步驟失敗,請在您解決問題之前不要繼續。

  1. 將您的Joomla!的基礎文件夾中的文件「htaccess.txt」重命名爲「.htaccess」。
  2. 此步驟可能不是必需的。在文本編輯器中打開.htaccess。取消註釋RewriteBase /(刪除第一個字符#)。如果Joomla安裝在自己的文件夾中,請在反斜槓後輸入Joomla文件夾名稱。例如RewriteBase/yourjoomlafolder。
  3. 登錄到您的後端並打開全局配置。
  4. 啓用使用Apache mod_rewrite/URL重寫選項並保存。該選項使用Apache mod_rewrite函數來消除URL的「index.php」部分。 檢查您的網站是否正常工作。您的網址現在應如下所示: http://www.example.com/the-新聞/ 1-latest-news/1-welcome-to-joomla 如果此選項導致錯誤,請參閱如何檢查服務器上是否啓用了mod重寫。 如果未啓用,並且您有權訪問文件apache/conf/httpd。conf,打開該文件並檢查LoadModule行rewrite_module modules/mod_rewrite.so是否未註釋。如有必要,取消註釋該行並重新啓動Apache Web服務器。 如果mod_rewrite無法啓用,請關閉此選項。如果將.htaccess文件重命名,則無關緊要。
  5. 如果您認爲有必要,請爲網址添加後綴並保存。該選項將.html添加到URL的末尾。對於這是必要的還是有用的,有不同的意見。搜索引擎似乎不關心你的網址是否以.html結尾。
  6. 打開插件管理器並啓用System-SEF插件。這個插件爲您的Joomla文章中的鏈接添加了SEF支持。它直接在HTML上運行,不需要特殊的標籤。
+0

非常感謝你:) :) 這是URL重寫選項! –