簡體   English   中英

htaccess mod_rewrite重定向到目錄,而不顯示在url上

[英]htaccess mod_rewrite redirect to directory without displaying on url

我有一個名為www.example.com的網站,並且我有PHP文件。 我將所有工作文件存儲在www.example.com/site中。 我想在www.example.com中查看該網站,而不移動我的網站內容。 我能做什么?

這是我目前在.htaccess中輸入的內容。 它將我的網站重定向到www.example.com/site,但我認為該網址很丑陋

RewriteEngine on
RewriteBase /

RewriteRule ^(/.*|)$ /magento$1 [NC,L]

您必須考慮兩件事:

如果我理解您的請求,您正在使用www.example.com訪問一些PHP文件,但是您想要訪問的是www.example.com/site ,但沒有/site ,對嗎?

因此,從根本上來說,您要尋找的不是重寫,它只是將您的域指向好文件夾,即/site ,對嗎?

  • 如果您使用的是Apache2,則必須在/etc/apache2/site-available/default編輯apache的配置文件(或將default替換為您可能創建的虛擬主機的名稱)。

在此文件中,查找指令DocumentRoot 它應該指向您頁面的“根”目錄(您通過鍵入www.example.com訪問的目錄)。我認為您只需將/site附加到此DocumentRoot ,然后使用service apache2 reload您就是網站www.example.com現在將指向正確的目錄。

如果仍然無法使用,則必須考慮調查magento的admin,因為magento會根據您在Admin / Configuration / general / web指定的Base URL重寫URL。 您必須在“ SecureUn-Secure Base_URL中修改Base_URL

然后它應該工作正常。 我會注釋掉您當前正在使用的Rewrite組,或者也許我並沒有完全理解您想要實現的目標。

讓我看看我是否正確理解了這一點。

您有一個域名,www.example.com,並且在此域上要顯示目錄的內容,www.example.com / site !?

如果是這種情況,則需要更改文檔根目錄

RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www.example.com$
RewriteCond %{REQUEST_URI} !^/site
RewriteRule ^(.*)$ /site/$1 [L]

要么

RewriteEngine on
RewriteBase /

RewriteRule ^(.*)$ /site/$1 [L,NC]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM