エックスサーバーでアプリを公開したいのですが、サブドメインの設定がうまくいかないのでご相談させてください。
実現したいこと
例)ドメイン名 test
サブドメイン sub.test
プロジェクト project
sub.testにアクセスしたときに、projectのアプリが使用できるようになること。
サブドメイン内のみで正しいURLで遷移すること。
なお、test直下でWordPressを構築しています。
発生している問題・分からないこと
●URLについて
sub.testにアクセスすると、以下にリダイレクトされてしまう。
test/project/?sub.test/public/sub
該当のソースコード
test(ドメイン) ├public_html │ ├.htaccess │ └sub.test(test/project/publicへのシンボリックリンク) ★ここにアクセスしたら └project(プロジェクト名、非公開ディレクトリ) └public ★ここを見るようにしたい └index.php
test/public_html/.htaccess
1SetEnvIf Request_URI ".*" Ngx_Cache_NoCacheMode=off 2SetEnvIf Request_URI ".*" Ngx_Cache_StaticMode 3 4<IfModule mod_rewrite.c> 5Options +FollowSymLinks 6RewriteEngine On 7RewriteCond %{REQUEST_FILENAME} !-f 8RewriteCond %{REQUEST_FILENAME} !-d 9RewriteCond %{HTTP_HOST} ^sub.test\.com$ 10RewriteCond %{REQUEST_URI} !(^/public/) 11RewriteRule ^(.*)$ https://sub.test/public/$1 [R=301,L] 12RewriteRule . /index.php [L] 13</IfModule> 14 15 16<IfModule mod_rewrite.c> 17RewriteEngine on 18RewriteCond %{HTTPS} off 19RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 20</IfModule> 21 22# BEGIN WordPress 23# 既存ドメインでのワードプレスの設定。初期設定のまま 24# END WordPress
test/project/public/.htaccess
1<IfModule mod_rewrite.c> 2 <IfModule mod_negotiation.c> 3 Options -MultiViews -Indexes 4 </IfModule> 5 6 RewriteEngine On 7 8 # Handle Authorization Header 9 RewriteCond %{HTTP:Authorization} . 10 RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] 11 12 # Redirect Trailing Slashes If Not A Folder... 13 RewriteCond %{REQUEST_FILENAME} !-d 14 RewriteCond %{REQUEST_URI} (.+)/$ 15 RewriteRule ^ %1 [L,R=301] 16 17 # Send Requests To Front Controller... 18 RewriteCond %{REQUEST_FILENAME} !-d 19 RewriteCond %{REQUEST_FILENAME} !-f 20 RewriteRule ^(.+)$ /index.php/$1 [L] 21</IfModule>
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
参考サイトを参考に、.htaccessでサブドメインにアクセスした場合に、プロジェクトのpublicにリダイレクトするように設定しました。しかし、それがうまく行っていないようです。
●参考にしたサイト
XserverにLaravelアプリを公開する手順
Laravelの成果物をXServerに継続的にデプロイする
補足
特になし

回答1件
あなたの回答
tips
プレビュー