2011-11-27 216 views
2

http://localhost/.htaccess的唯一事情是這樣的:Apache的符號鏈接符號鏈接返回HTTP 500錯誤

Options +FollowSymLinks 
Alias /1 /2 

...我得到一個HTTP 500錯誤。嘗試使用一個或兩個,或者存在目錄(例如localhost/1 /)。沒有看到任何教程。我可以在不修改服務器的httpd.conf配置文件的情況下使其工作嗎?

目標:爲兩個或多個結構相同的不同內容的網站使用單個(相同)目錄。

條件:這必須在活動服務器上鏡像,這意味着我無法訪問服務器配置。

如果無法通過.htaccess以任何方式使用SymLinks而無需修改服務器配置,那麼這種方法不是我可以採用的方法。

+0

也許有點顯而易見,但是......它工作*沒有*文件嗎? – Ryan

+0

500會在你的Apache錯誤日誌中記錄一些東西。它說什麼? – Trott

+0

@特羅特,我應該考慮錯誤日誌; 「別名不允許在這裏」。 – John

回答

0

根據the documentation,您不能在.htaccess文件中使用Alias

對於Alias指令,它列出了Contextserver config, virtual host。如果您能夠在.htaccess文件中使用它,則.htaccess將出現在Context文檔中的指令中。

一些選項來解決這個問題:

  • /1一個符號鏈接到/2目錄。 (是/1已符號鏈接到/2?如果是這樣,只是擺脫Alias聲明。在這種情況下,你不需要它。)
  • Alias指令移動到服務器配置。
  • 在您的.htaccess文件中使用mod_rewrite規則。這隻有在您的/2目錄位於docroot下時纔有效。
  • 使用Redirect指令。這也需要您的/2目錄在您的文檔根目錄下。它與Alias不同,但它可能足夠接近您,具體取決於您嘗試實現的目標。
+0

如果我無法觸及服務器配置,並且看到localhost,那麼這應該意味着我將在實時服務器上對此項工作進行鏡像,因爲我無法訪問配置文件。此外,這不是任何意義上的重定向,SymLinks應允許通過不是重定向的虛擬路徑進行訪問。 – John