サブドメインで作成したサイトをルートドメインで公開したい。
お世話になっております。
サブドメイン(hoge.hogehoge.com)でサイトを作成しました。
その内容をそのままルートドメイン(hogehoge.com)で公開したいと思っています。
使っているサーバはXサーバなので
/hogehoge.com/public_html/hoge/
にインストールしてサイトを作成しました。
これを
/hogehoge.com/public_html/
に移動すればいいのはわかりますが、ファイルの場所は変えずにルートドメイン(hogehoge.com)で公開したいということです。
http://concrete5-japan.org/community/forums/usage/post-2602/
http://concrete5-japan.org/community/forums/5-7-x/post-10739/
を参考にしていろいろ試しましたがうまくいきませんでした。
他に方法があるのでしょうか。
環境設定は次の通りです。
# concrete5 Version
Core Version - 8.5.1
Version Installed - 8.5.1
Database Version - 20190301133300
# concrete5 Packages
Add and Remove Classes and IDs (0.9.5), Customize Editing Interface (1.0.1), Manual Nav (2.3.2), Open Graph Tags Lite (2.1.4), Social Share Lite (2.1.3), Stucco (2.1.6)
# concrete5 Overrides
None
# concrete5 Cache Settings
Block Cache - Off
Overrides Cache - Off
Full Page Caching - Off
Full Page Cache Lifetime - Every 6 hours (default setting).
# Server Software
Apache
# Server API
cgi-fcgi
# PHP Version
7.2.27
Re: サブドメインで作成したサイトをルートドメインで公開したい。
googleアドセンスにサイトを登録したいんですが、サブドメインにあるコンテンツだけでは審査が通りません。
審査の時だけルートドメインでと思っておりました。
Re: サブドメインで作成したサイトをルートドメインで公開したい。
Re: サブドメインで作成したサイトをルートドメインで公開したい。
http://concrete5-japan.org/community/forums/usage/post-2602/
の方法を8.5.2 & MAMP5.7環境でテストしてみました。
/hogehoge.com/public_html/.htaccess
DirectoryIndex index.html index.php
RewriteEngine On
RewriteBase /
RewriteRule ^$ index.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^hoge/ [NC]
RewriteRule ^(.*)$ /hoge/$1
/hogehoge.com/public_html/hoge/.htaccess
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /hoge/index.php/$1 [L]
/hogehoge.com/public_html/hoge/index.php
<?php
$_SERVER['REDIRECT_URL'] = str_replace('hoge/', '', $_SERVER['REDIRECT_URL']);
$_SERVER['ORIG_PATH_INFO'] = str_replace('hoge/', '', $_SERVER['ORIG_PATH_INFO']);
$_SERVER['PATH_INFO'] = str_replace('hoge/', '', $_SERVER['PATH_INFO']);
$_SERVER['SCRIPT_NAME'] = str_replace('hoge/', '', $_SERVER['SCRIPT_NAME']);
require 'concrete/dispatcher.php';
上記3ファイルを変更して問題なく動作しました。
なお、site.phpの編集は不要でした。
というより、define('DIR_REL',〜の表記がありませんでした。
またindex.phpを編集しない場合、トップページは問題なく表示されますが
2階層目以降でフォルダ名が表示されてしまいます(プリティーURL設定時でも同様)。
hogehoge.com/index.php/blog → hogehoge.com/hoge/index.php/blog
参考になれば幸いです。
Re: サブドメインで作成したサイトをルートドメインで公開したい。
.htaccesの内容に追加する方法ではうまくいかず、結局はもともとあった.htaccessの内容はすべて削除、すべて書き換えてうまくいきました。
(https://への転送設定とプリティーURLの設定を削除)
【URLとリダイレクト】では、プリティーURLはOFF、カノニカルURLと代替カノニカルURLはともに削除しました。
これですべて表示するように。
ところが、index.phpを書き換えてフォルダ名を消すという部分はなぜかダメでした。
<?php
$_SERVER['REDIRECT_URL'] = str_replace('hoge/', '', $_SERVER['REDIRECT_URL']);
$_SERVER['ORIG_PATH_INFO'] = str_replace('hoge/', '', $_SERVER['ORIG_PATH_INFO']);
$_SERVER['PATH_INFO'] = str_replace('hoge/', '', $_SERVER['PATH_INFO']);
$_SERVER['SCRIPT_NAME'] = str_replace('hoge/', '', $_SERVER['SCRIPT_NAME']);
require 'concrete/dispatcher.php';
に書き換えるとHOME以外のページはすべてのページで【No input file specified.】表示。
http://concrete5-japan.org/community/forums/5-7-x/post-10739/?
の最後にあるXサーバの設定もやってみたんですがこちらもダメでした。
落ち着いて今日の夜にでも再チャレンジしてみます。
本当にありがとうございました。
takuro hishikawa
Re: サブドメインで作成したサイトをルートドメインで公開したい。