我正在和一些朋友一起做一個專案,他們需要一個我正在開發的小網站。
它是使用 Wamp 服務器在我的計算機上的主機,我這樣配置它:
C:\wamp64\www\projectfolder\是我的專案所在的檔案夾。http://example.online/是指向我的虛擬主機projectfolder,我用來在本地訪問我的網站。http://example.ddnsservice.org/projectfolder/是我需要共享時訪問我的網站的 URL。http://example.ddnsservice.org/即指向默認的 wampserver 頁面。
以這種方式作業,當我使用我的虛擬主機 URL 時,所有指向/或/something/else/正在作業的相對鏈接,但在我使用公共 URL 時卻沒有。/models/將重定向到http://example.ddnsservice.org/models/而不是http://example.ddnsservice.org/projectfolder/models/.
我已經嘗試在以下幾個解決方案中使用RewriteRule該.htaccess檔案,projectfolder但似乎沒有任何效果,所以我開始認為我對托管網站的外觀有一個深刻的誤解。我嘗試的最后一件事是:
RewriteEngine on
RewriteCond "%{HTTP_HOST}" "^(.*)example.ddnsservice.org(.*)$"
RewriteRule ^/$ ^/projectfolder/$
我沒有試圖http://example.ddnsservice.org/指出這一點,projectfolder因為我有時會分享其他專案,因為我不知道該怎么做。
我很迷茫,不知道從哪里解決這個問題了。
感謝大家閱讀我并花點時間。
- - 編輯 - -
有關更多詳細資訊,這些鏈接讓我感到困惑。或者我在惹他們,不能說!(我只是讓<a>標簽)
<a href="/?action=session_destroy">session_destroy();</a>
<a href="http://localhost">LOCALHOST</a>
<a href="/">ROOT</a>
<a href="/admin/">ADMIN</a>
<a href="/admin/?action=testPage">TEST_PAGE</a>
<a href="/?action=empty_session_key">$_SESSION['key']="";</a>
<a href="?">EMPTY GET</a>
<a href="?key=<?= $key['display_key'] ?>">KEY1</a>
<a href="?key=<?= $key['forum_key'] ?>">KEY2</a>
我意識到閱讀您的答案,我讓自己陷入了困境。我不需要同時托管多個專案,因此我可以將 Apache 配置為projectfolder默認指向我的專案。我也非常感謝@BURN-ADDiCT 他的個性化教程,因為如果我理解正確的規則,我無法通過評論來做到這一點。
我還意識到我選擇在我的資料庫上分離一些受限操作/admin/index.php可能是一個壞主意,這就是我使用鏈接到網站/服務器根目錄的原因,我會改變它。
只要我有足夠的空閑時間,我就會解決這個問題,但現在問題已由 apache 配置解決方案解決。感謝大家的時間。
uj5u.com熱心網友回復:
@ts的答案應該可以解決您的主要問題。這是一個相對參考的問題。我現在正在編輯我的答案以幫助您帖子的其他一些部分,因為我現在對您不理解的內容有了更好的理解。
我沒有試圖
http://example.ddnsservice.org/指出這一點,projectfolder因為我有時會分享其他專案,因為我不知道該怎么做。
如果您想這樣做,則需要更改 Apache 默認設定,例如在此答案中:https : //stackoverflow.com/a/5891858/10335389
這將是一個特定于平臺的東西,但您基本上需要找到該httpd.conf檔案,wamp/apache2/conf/因為您使用 Wamp ,該檔案可能在您的下方。在該檔案中,找到DocumentRoot設定并將“/projectfolder”附加到該值。您可能會發現它為c:\wamp\htdocs,然后將其更改為c:\wamp\htdocs\projectfolder. 對<Directory "c:\wamp\htdocs">設定進行相同的更改(應該在下一行)。
我有時會分享其他專案
為此,您可以設定多個虛擬主機。我自己沒有使用過這個,所以我不會多說。我只是在您有興趣成為projectfolderroot 的情況下分享這個,然后想分享一個不同的專案(也作為 root)。
如果您不需要站點同時運行,那么您可以使用符號鏈接(因為我使用 Linux,它們很容易做到),但在 Windows 上,您可能希望使用別名來制作“ projectfolder”每次都指向不同的檔案夾,或者,只在“projectfolder”中保留您要服務的專案的副本。在我看來,后者很方便。
我嘗試在 projectfolder 中的 .htaccess 檔案上使用 RewriteRule,遵循此處提出的幾種解決方案,但似乎沒有任何效果,所以我開始認為我對托管網站的外觀有深刻的誤解。
即使確實涉及您的問題,這也不是解決此問題的好方法。
根據Apache 檔案(在“何時(不)使用 .htaccess 檔案”部分下):
當您無權訪問主服務器組態檔時,您應該只使用 .htaccess 檔案。
它進一步說:
通常,應盡可能避免使用 .htaccess 檔案。您考慮放入 .htaccess 檔案的任何配置都可以
<Directory>在主服務器組態檔的一個部分中有效地進行。
我希望這會有所幫助,即使問題只是相對參考的問題。
uj5u.com熱心網友回復:
不要/在鏈接中使用 as 前綴。假設您的服務器具有這樣的檔案夾結構:
htdocs (public-html)
|- projectfolder
|- images
- logo.png
- photo.jpeg
- index.html
所以你想從索引鏈接到不同的檔案。例如,在您的問題中是模型,或者在上述情況下是影像。在這種情況下,您需要鏈接到"images/logo.png". 由于您的索引已經位于 projectfolder 中,因此它將從該位置搜索到檔案夾images,然后進入該檔案夾并查找logo.png。所以網址將轉換為http://example.ddnsservice.org/projectfolder/images/logo.png
如果你會使用"/images/logo.png",你會告訴它需要向上移動一個檔案夾并從那里開始搜索。由于您的索引位于專案檔案夾中,它會將檔案夾向上移動到 htdocs(或 public-html 或其他東西)并從該位置搜索到檔案夾影像,然后嘗試進入檔案夾并查找logo.png。因此該 url 將轉換http://example.ddnsservice.org/images/logo.png為該檔案夾是錯誤的檔案夾,在這種情況下它甚至不存在。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/420616.html
標籤:
