Apache-2.2
mod_rewrite 將 documentroot 添加到 url
以下重寫重定向
http://example.com/
到http://example.com/www/www.example.com/public_html
而不是http://www.example.com/
./www/www.example.com/public_html
是DocumentRoot
。# Rewrite Rules for Example RewriteEngine On RewriteBase / # Redirect from example.com to www.example.com RewriteCond %{HTTP_HOST} !^www\.example\.com [NC] RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]
此重定向
<VirtualHost *:80>
與設置有關:ServerName example.com ServerAlias www.example.com ServerAdmin webmaster@example.com Options +FollowSymLinks DocumentRoot /www/www.example.com/public_html and the rewrite is inside <Directory />
任何想法為什麼會這樣做?我查看了Apache 手冊,它說
${HTTP_HOST}
在您的使用RewriteCond
中將主機添加到RewriteRule
而不只是URL-Path。嗯,這是一個非常常見的重寫,我以前從未見過這種情況。
問題是
<Directory />
。一旦我將其更新為<Directory /www/www.example.com/public_html>
它工作得很好。