[英]Several sites in www dir. .htaccess problems
我在www目錄中有幾個Phalcon應用程序。
該結構如下所示:
www/
/app1
.htaccess
/public
.htaccess
index.php
/app
/app2
.htaccess
/public
.htaccess
index.php
/app
應用程式根目錄中的.htaccess:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]
</IfModule>
.htaccess在公共目錄中
AddDefaultCharset UTF-8
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?_url=/$1 [QSA,L]
我是從Phalcon文檔中獲得的。 如果鍵入任何相關的網址(例如example.com/app1/page),我將獲得正確的頁面。 但是我的主頁有問題。 瀏覽器重定向到example.com/app1/public。
我需要htaccess的幫助,我花了3個小時來尋找解決方案,但沒有成功。
我無法使用虛擬主機解決此問題。
這可能是由mod_dir引起的。 默認情況下,mod_dir會將缺少斜杠的目錄的每個請求重定向到包含斜杠的URL。 由於mod_dir和mod_rewrite都應用於同一請求,因此發生了奇怪的重定向。 像這樣:
/app1
/app1/
。 /app1/
)繼續通過處理管道 /app1/public/
/app1/public/
出現在瀏覽器的URL位置欄中 為了避免這種情況,您需要關閉mod_dir的DirectorySlash
指令。 不過,此重定向確實有一些非常重要的功能。 原因是因為即使有索引文件,也可以在請求目錄時列出目錄的內容而不會在結尾加上斜杠。 因此,為了避免這種情況,您需要確保關閉索引。
因此,在文檔根目錄的htaccess文件中,您需要以下內容:
DirectorySlash Off
Options -Indexes
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.