質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
さくらのレンタルサーバ

さくらのレンタルサーバとは、格安サーバーで知られるさくらインターネット社の提供する共有レンタルサーバー。Webサイトの構築から簡単なプログラミングまで幅広く利用することができ、プランが多いことも特徴です。

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

Q&A

解決済

1回答

2155閲覧

laravel さくらレンタルサーバーにアップロード後直下以外Not Foundと出る

taka211

総合スコア17

さくらのレンタルサーバ

さくらのレンタルサーバとは、格安サーバーで知られるさくらインターネット社の提供する共有レンタルサーバー。Webサイトの構築から簡単なプログラミングまで幅広く利用することができ、プランが多いことも特徴です。

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

0グッド

0クリップ

投稿2021/07/24 18:43

編集2021/07/25 12:15

前提・実現したいこと

さくらレンタルサーバー内にララベルプロジェクトをアップロードして動くようにしたい。
/home/hogehoge/www/
|
-public
| |ララベル内publicのシンボリックリンク
|
-hogehoge(laravelプロジェクト)

のディレクトリ構成でララベルを動かそうと思っています。

同じような様々な記事を参考にしていますが、public直下以外はNot Foundとなってしまいます。

ララベルプロジェクトはhome/(アプリ名)/wwwに直接ftp転送しており、いじっているうちに何が何だか分からなくなってしまいました。

行ったことと変更内容

envファイル設定
chmod -R 777 storage
サーバにsshで接続
以下の内容が自分が解決したいこととマッチしている思い、
https://qiita.com/n11sh1/items/9abeeffe2d825d3458ea

を参考に
ln -s home/hogehoge/www/hogehoge/public/ ~/www/public
を実行しするとpublic内容が 
home/(アプリ名)/www/直下にシンボリックリンクが作成されますが、無効なリンクと表示されています。

最終的には.sakura.ne.jp/ドメイン名/publicで表示がしたいです。

考えられる理由や対処法などありますでしょうか。

該当のソースコード

変更箇所 .htaccess <IfModule mod_rewrite.c> <IfModule mod_negotiation.c> Options -MultiViews -Indexes </IfModule> RewriteEngine On //変更 RewriteBase / # Handle Authorization Header RewriteCond %{HTTP:Authorization} . RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] # Redirect Trailing Slashes If Not A Folder... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} (.+)/$ RewriteRule ^ %1 [L,R=301] # Send Requests To Front Controller... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] </IfModule>
public/index.php <?php use Illuminate\Contracts\Http\Kernel; use Illuminate\Http\Request; define('LARAVEL_START', microtime(true)); /* |-------------------------------------------------------------------------- | Check If The Application Is Under Maintenance |-------------------------------------------------------------------------- | | If the application is in maintenance / demo mode via the "down" command | we will load this file so that any pre-rendered content can be shown | instead of starting the framework, which could cause an exception. | */ if (file_exists(__DIR__.'/../storage/framework/maintenance.php')) { require __DIR__.'/../storage/framework/maintenance.php'; } /* |-------------------------------------------------------------------------- | Register The Auto Loader |-------------------------------------------------------------------------- | | Composer provides a convenient, automatically generated class loader for | this application. We just need to utilize it! We'll simply require it | into the script here so we don't need to manually load our classes. | */ //変更 require __DIR__.'/../../hogehoge/vendor/autoload.php'; /* |-------------------------------------------------------------------------- | Run The Application |-------------------------------------------------------------------------- | | Once we have the application, we can handle the incoming request using | the application's HTTP kernel. Then, we will send the response back | to this client's browser, allowing them to enjoy our application. | */ //変更 $app = require_once __DIR__.'/../../hogehoge/bootstrap/app.php'; $kernel = $app->make(Kernel::class); $response = tap($kernel->handle( $request = Request::capture() ))->send(); $kernel->terminate($request, $response);

試したこと

ここに問題に対して試したことを記載してください。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

CHERRY

2021/07/24 22:36

参考にされたURL の手順は、www ディレクトリの中に Laravel のアプリ全体をclone する手順のように思われます。 質問の中で、シンボリックリンクを使われいるのであれば、どのような手順で操作したのか具体的な手順やさくらのレンタルサーバーのサーバー内にどのように各ファイルやディレクトリを配置したのかを質問に追記していただけないでしょうか。
taka211

2021/07/25 01:17

git管理でcloneはしておりませんでした。 追記いたしました。よろしくお願いいたします。
guest

回答1

0

自己解決

.htaccessの変更箇所が不要で、消したら問題なく動いた。

.htaccess <IfModule mod_rewrite.c> <IfModule mod_negotiation.c> Options -MultiViews -Indexes </IfModule> RewriteEngine On //ここが追加不要------------ RewriteBase / //---------------------- # Handle Authorization Header RewriteCond %{HTTP:Authorization} . RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] # Redirect Trailing Slashes If Not A Folder... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} (.+)/$ RewriteRule ^ %1 [L,R=301] # Send Requests To Front Controller... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] </IfModule>

投稿2021/07/26 03:11

taka211

総合スコア17

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問