2つの質問があります。
(私の例のURLの一部のhttp://を削除する必要がありました。これは、私の質問にmorが1つのURLを持っているほどの評判がないためです。// example。と表示されます。)
質問1)http://example.com のようなドメインが1つあります。これにより、/ var/www/exampleからページがロードされます。ここで、// example.com/site2へのすべてのリクエストをフォルダー/ var/www/site2に解決するようにします。
これが基本的な考え方であり、私はこのようにこれを達成しようとしました(これは機能しませんでした)。
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/example
DirectoryIndex /index.html index.html
#<LocationMatch "^/site2.*">
# RewriteEngine on
# RewriteRule . /example2/index.html [L]
#</LocationMatch>
AliasMatch "/site2(.*)" "/var/www/site2$1"
<Directory /var/www/site2>
Require all granted
AllowOverride all
</Directory>
# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn
ErrorLog ${Apache_LOG_DIR}/error.log
CustomLog ${Apache_LOG_DIR}/access.log combined
# For most configuration files from conf-available/, which are
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual Host. For example the
# following line enables the CGI configuration for this Host only
# after it has been globally disabled with "a2disconf".
#Include conf-available/serve-cgi-bin.conf
</VirtualHost>
/ site2 URLに到着するときに、AliasディレクティブとLocation matchを使用して、正しいURLに内容を書き換えてみました。これは私のconfでした。 //example.com/site2/では、// example.com/からのindex.htmlになります。 //example.com/site2/index.htmlをリクエストする場合のみ。
<VirtualHost *:80>
DocumentRoot /var/www/example
DirectoryIndex /index.html index.html
Alias "/site2" "/var/www/site2"
<Directory /var/www/site2>
Require all granted
AllowOverride all
</Directory>
</VirtualHost>
質問2)1が機能する場合、すべてのphp要求を独自のfpmプールに渡したいと思います。 example.comのリクエストはfcgi://127.0.0.1:9000に渡され、// example.com/site2のリクエストはfcgi://127.0.0.1:9001に送信されます。
[編集](fpm fcgiのリファレンスを変更しました。)[編集](エイリアスディレクティブに基づいてconfを追加しました。)
「質問1)」によると:
エイリアスを追加する必要があります。
Alias /site2 /var/www/site2
<Directory /var/www/site2>
Require all granted
AllowOverride all
</Directory>
DirectoryIndex
ディレクティブは、ステートメントを「絶対」ファイル名として読み取ります。私はこの構文を意味します:
DirectoryIndex /index.html index.html
DirectoryIndex
は、DocumentRoot
= index.html
にある/
が存在するかどうかを確認し、存在する場合はそれを表示し、次のステートメントを無視します。したがって、このレコード(/index.html
)が意図されていない場合、それは間違っています。いくつかの ここの例 。