通知
すべてクリア

解決済みpublicの省略

投稿: 2
質問投稿者
コミュニティ参加日: 2か月前

Laravelを下記のblogホルダにインストールして使用しています。
xamppでいうDocumentRoot "C:/xampp/htdocs/blog/public"のようなことを
シンフリーサーバーで行いたいと思い
https://.cloudfree.jp/blog/にアクセスされた場合
https://
.cloudfree.jp/blog/public/にアクセスがあったことにしたいと
考えています。

フリーサーバーでは、httpd.confがさわれないようで、
blogホルダの.htaccessに

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
と入力しましたが、
Failed to load resource: the server responded with a status of 404 ()
とエラーが表示されます。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^$ public/ [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ public/index.php?/$1 [L]
</IfModule>
これもNG。

https://***.cloudfree.jp/blog/public/
このようにpublicをつけてアクセスするとやはりOK。
シンフリーサーバでは.htaccessは利用できないのでしょうか?
それとも別の解決方法がありますでしょうか?

対象サービス

3件の返信
はるか
投稿: 164
コミュニティ参加日: 4か月前

こんにちは。

>https://.cloudfree.jp/blog/にアクセスされた場合

>https://.cloudfree.jp/blog/public/にアクセスがあったことにしたいと
>考えています。

htaccessの設定やスペルミスではないですか?

上に書かれているものは私は検証していません。

私ならこう書きます。

Redirect permanent /blog/  https://example.cloudfree.jp/blog/public/ 

 これは、ディレクトリ単位にしています。

個別ファイルでも勿論出来ます。

 

これはftpで言うところの以下のパスに.htaccess置かないと機能しません。

example.cloudfree.jp/public_html/blog/.htaccess

 

私の言うのでやってみて、どうなるか教えてください。

余談ですがhttpはhttpsにリダイレクトしていますよね。

 

 

 


返信
2件の返信
コミュニティ参加日: 2か月前

投稿: 2

ありがとうございます。

example.cloudfree.jp/public_html/blogにお教えて頂いた
「 Redirect permanent /blog/  https://example.cloudfree.jp/blog/public/   」
の.htaccessを設置しました。

Laravelが、publicに独自の.htaccessを設置しており、
https://example.cloudfree.jp/blog/public/public/public/public/public/public/public/public/public/public/public/public/public/public/public/public/public/public/public/public/public/public/public
と無限ループになりました。

考え直しまして、Laravelはblog/publicがルートで自分が考えているルートはblogですので、
index.phpはblog/publicに置かずにblogに置くことにし、Laravelのpublicは使わないことにしました。
この方法でLaravelに影響が出れば、教えて頂いた方法に戻し、Laravelのpublicにある
.htaccessを手直しして無限ループを解消し使おうと思いますが、今のところ、
多少index.php内の手直して問題ないようですのでこの方法で行こうと思います。


返信
はるか
コミュニティ参加日: 4か月前

投稿: 164

なるほど

私の提示したリダイレクトは正しく機能しているという訳ですね。

>Laravelが、publicに独自の.htaccessを設置しており、

この「独自の仕掛」が/blog/に戻しているのですね。

それならループになるでしょう。

 

>ndex.phpはblog/publicに置かずにblogに置くことにし、Laravelのpublicは使わないことにしました。

これが機能するといいですが、リンクとかだめそうですね。

 

そのLaravelのドキュメントルートは変更できないものなのでしょうか。

検索したら有名なソフトのようなので希望通りに出来そうですが。

Laravelの仕様をしらないので、なんともいえませんが/blog/がルートになるようにすればいいのですよね?

 

余計な事ですが、シンフリーは無料版でもWordPressが簡単におけるので

乗り換えるというのはありかもです。

ではでは。

 


返信