在我的服務器上我有多個域。mod_rewrite不隱藏子目錄
RewriteEngine On
RewriteBase/
# 1. Redirect multiple domains to http://domain.de/
RewriteCond %{HTTP_HOST} !^(www\.)?domain\.de [NC]
RewriteRule ^/?(.*) http://domain.de/$1 [L,R,NE]
# 2. Redirect all requests to /subdirectory
RewriteRule ^$ /subdirectory [L]
的2.規則工作正常,但它並不隱藏子目錄中的網址,也沒有按預期工作:爲http://domain.de/content/image.png
返回404的請求,因爲實際的文件位於http://domain.de/subdirectory/content/image.png
此外,我有一些工具位於子目錄/subdirectory
旁邊的工具文件夾。我想確保我仍然可以訪問它們。這目前正在工作。
問題
我怎樣才能確保,對於http://domain.de/content/image.png
作品的要求?
我試過
RewriteCond %{REQUEST_URI} !^/subdirectory/
RewriteRule (.*) /subdirectory/$1 [L]
但是,這只是返回錯誤500在Apache的錯誤日誌中的條目:`請求超過了10個內部重定向的上限,由於可能的配置錯誤。
編輯
由拉維Thapliyal提供的指導後,有(我猜)一件事剩餘:刪除URL中的子目錄。
[[email protected] html]$ curl -I domain.de/
HTTP/1.1 301 Moved Permanently
Date: Mon, 21 Oct 2013 12:42:22 GMT
Server: Apache/2.2.22 (Ubuntu)
Location: http://domain.de/subdirectory/index.php
Vary: Accept-Encoding
Content-Type: text/html
這是獲取返回什麼,但其實我是想獲得HTML不是一個位置,然後頭當然會被重定向我內外兼修的子目錄,然後將其對用戶可見。可能與某個子目錄中的另一個.htaccess文件有關?
EDIT2
看來問題是關係到subdirectory
背後的TYPO3安裝。接受的答案按預期工作。
訪問域時將導致403。德。錯誤日誌說:'由Options指令禁止的目錄索引:/ var/www /' –
爲'^/$'添加一個'RewriteCond'。 –
這留下了剩餘的一件事:URL中的可見子目錄。 –