サブディレクトリにインストールしてルートで公開

2015年5月29日 at 18:49

http://concrete5-japan.org/community/forums/usage/post-2602/
上記と同じように,
下層フォルダにインストールして,ファイルは移動せずにルートで公開したいと
思っているのですが,5.7の場合はどうしたらよいのでしょうか?
バージョンは5.7.4.2です。

タグ:

Re: サブディレクトリにインストールしてルートで公開

2015年6月1日 at 19:48
実際に試されましたか?

/.htaccess と
/concrete5.7.4.2/.htaccess

をそれぞれ、お示しのURLに書かれていた.htaccessのソースコードを参考に設置してみましたが、問題なくリダイレクトされています。
 

Re: サブディレクトリにインストールしてルートで公開

2015年6月1日 at 20:30
下記のようにindex.phpに追加するところまで試しましたがだめでした。

/.htaccess

suPHP_ConfigPath /home/サーバー名/ドメイン名/xserver_php/
AddHandler fcgid-script .php .phps
FCGIWrapper "/home/サーバー名/ドメイン名/xserver_php/php-cgi -c /home/サーバー名/ドメイン名/xserver_php/php.ini" .php
FCGIWrapper "/home/サーバー名/ドメイン名/xserver_php/php-cgi -c /home/サーバー名/ドメイン名/xserver_php/php.ini" .phps

DirectoryIndex index.html index.php
RewriteEngine On
RewriteBase /
RewriteRule ^$ index.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^concrete5.7.4.2/ [NC]
RewriteRule ^(.*)$ /concrete5.7.4.2/$1



/concrete5.7.4.2/.htaccess

# -- concrete5 urls start --
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /concrete5.7.4.2/index.php/$1 [L]
</IfModule>
# -- concrete5 urls end --


/concrete5.7.4.2/index.php

<?php
$_SERVER['REDIRECT_URL'] = str_replace('concrete5.7.4.2/', '', $_SERVER['REDIRECT_URL']);
$_SERVER['ORIG_PATH_INFO'] = str_replace('concrete5.7.4.2/', '', $_SERVER['ORIG_PATH_INFO']);
$_SERVER['PATH_INFO'] = str_replace('concrete5.7.4.2/', '', $_SERVER['PATH_INFO']);
$_SERVER['SCRIPT_NAME'] = str_replace('concrete5.7.4.2/', '', $_SERVER['SCRIPT_NAME']);
require('concrete/dispatcher.php');
 

Re: サブディレクトリにインストールしてルートで公開

2015年6月1日 at 20:40
えっとですね、もう一度最初お示しになったURLのポストを落ち着いて読んで頂きたいのですが、
当該URLには、2種類のやり方が書いてあります。
/.htaccess と/concrete5.7.4.2/.htaccessを書き換える手法と、
/concrete5.x/index.phpと/concrete5.x/config/site.phpを書き換える2つの手法が紹介されています。

つまり、両方対処するのではなく、どちらか片方のやり方でOKなはずです。

私の場合は、/.htaccess と/concrete5.7.4.2/.htaccessの2つだけを書き換えればOKでした。
環境は、MAMP3.2、PHP5.6.7、c5は5.7.4.2です。
一度、index.phpの記述を、デフォルトに戻されてみてはいかがですか?

元のURLにもある通り、サーバーのセッティングにもよるので、このスレッドをサーバーのサポート担当にお見せして、対応を聞いてみるのも良いかもしれません。
 

Re: サブディレクトリにインストールしてルートで公開

2015年6月1日 at 20:47
XServerをお使いかと思うのですがhtaccessは、
そのままにServerのサーバーパネルよりPHP高速化設定(FastCGI化)の設定をOFFにしてみてはいかがでしょうか?
 

Re: Re: サブディレクトリにインストールしてルートで公開

2015年6月1日 at 21:00
二種類のやり方だったんですね!きづきませんでした。
index.phpをデフォルトに戻してみたのですが,
ホーム以外にアクセスするとNo input file specified.となりました。

エックスサーバーのサーバーパネルで高速化設定をオフにしたところ
表示されてくれるんですが,インストールしてあるフォルダ名が出てしまいました。

試しにindex.phpの記述を追加すると希望通り動作してくれました!

お二人ともありがとうございました!