Thorさん。
システムと設定->SEOと統計->URLとリダイレクト
で、プリティーURLがONになっていますでしょうか?
私のサイトでも、プリティURLを指定しても管理画面ではindex.phpは消えません。
追記:ローカルサーバだとindex.phpは消えるが、レンタルサーバMixHostだと管理画面ではindex.phpが消えていない、何かの設定か???
Re: URLをインストール先からドキュメントルートに変更したい
2017年9月28日 at 21:07
Thorさん。
.htaccess②ですが、私が試した時は、プリティーURLの指定をして、以下のRewriteRuleにしています。
RewriteRule . index.php [L]
Re: URLをインストール先からドキュメントルートに変更したい
2017年9月29日 at 12:52
にゃんきちさん
プリティーURLはONにしてあり、.htaccessも編集済です。
管理画面のindex.phpが消えないため、どれを押してもエラーになる状態です。
直下にインストールすればすべてが解決するのかしら……
追記
ページ下のloginボタンを押す→ID,Passを入力しログイン→No input file specified.
No input file specified.が表示されている時のURLにはindex.phpが含まれている。
うーん…
念のため手順の確認
再インストール
・データベース空にする
・元のconcディレクトリ削除
・ドキュメントルート直下の.htaccess削除(他では使っていない)
・concrete5~~~.zip解凍
・concに名前変更
・ブラウザにてドメイン/concにアクセスし、インストール作業実施
(日本語→続行→項目埋めてインストール)
ここまでではドメイン/conc/で表示。index.phpは表示されている
どこのページも問題なく表示される。
.htaccessとindexphpの編集
・ルートに.htaccessを作成し、以下を記載
conc/index.phpを以下に書き換える。
conc/.htaccessを作成し以下を記載
上記終了時の状況
ブラウザを使用してドメイン/concにて接続→リダイレクトループ
ドメインに接続→トップページ表示。アドレスバーはドメイン名のみ表示。ページ内のリンクには/concが含まれるものと含まれないものが混在している。
ダッシュボードへの接続できず。
以下アドレス直打ちにてダッシュボードへの接続
ドメイン/dashboard/welcome (No input file specified.)
ドメイン/conc/dashboard/welcome (No input file specified.)
ドメイン/conc/index.php/dashboard/welcome (404エラー)
プリティーURLはONにしてあり、.htaccessも編集済です。
管理画面のindex.phpが消えないため、どれを押してもエラーになる状態です。
直下にインストールすればすべてが解決するのかしら……
追記
ページ下のloginボタンを押す→ID,Passを入力しログイン→No input file specified.
No input file specified.が表示されている時のURLにはindex.phpが含まれている。
うーん…
念のため手順の確認
再インストール
・データベース空にする
・元のconcディレクトリ削除
・ドキュメントルート直下の.htaccess削除(他では使っていない)
・concrete5~~~.zip解凍
・concに名前変更
・ブラウザにてドメイン/concにアクセスし、インストール作業実施
(日本語→続行→項目埋めてインストール)
ここまでではドメイン/conc/で表示。index.phpは表示されている
どこのページも問題なく表示される。
.htaccessとindexphpの編集
・ルートに.htaccessを作成し、以下を記載
DirectoryIndex index.html index.php
RewriteEngine On
RewriteBase /
RewriteRule ^$ index.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^conc/ [NC]
RewriteRule ^(.*)$ /conc/$1
conc/index.phpを以下に書き換える。
<?php
$_SERVER['REDIRECT_URL'] = str_replace('conc/', '', $_SERVER['REDIRECT_URL']);
$_SERVER['ORIG_PATH_INFO'] = str_replace('conc/', '', $_SERVER['ORIG_PATH_INFO']);
$_SERVER['PATH_INFO'] = str_replace('conc/', '', $_SERVER['PATH_INFO']);
$_SERVER['SCRIPT_NAME'] = str_replace('conc/', '', $_SERVER['SCRIPT_NAME']);
require('concrete/dispatcher.php');
conc/.htaccessを作成し以下を記載
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /conc/index.php/$1 [L]
上記終了時の状況
ブラウザを使用してドメイン/concにて接続→リダイレクトループ
ドメインに接続→トップページ表示。アドレスバーはドメイン名のみ表示。ページ内のリンクには/concが含まれるものと含まれないものが混在している。
ダッシュボードへの接続できず。
以下アドレス直打ちにてダッシュボードへの接続
ドメイン/dashboard/welcome (No input file specified.)
ドメイン/conc/dashboard/welcome (No input file specified.)
ドメイン/conc/index.php/dashboard/welcome (404エラー)
Re: URLをインストール先からドキュメントルートに変更したい
2017年9月29日 at 18:10
インストール後、いじった箇所です。
ドキュメントルートのhtaccess
.htaccess
index.php
残りはコンフィグとか??
ドキュメントルートのhtaccess
DirectoryIndex index.html index.php
RewriteEngine On
RewriteBase /
RewriteRule ^$ index.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^conc/ [NC]
RewriteRule ^(.*)$ /conc/$1
.htaccess
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} /conc/
RewriteRule ^conc/(.*)$ $1 [R]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
index.php
<?php
$_SERVER['REDIRECT_URL'] = str_replace('conc/', '', $_SERVER['REDIRECT_URL']);
$_SERVER['ORIG_PATH_INFO'] = str_replace('conc/', '', $_SERVER['ORIG_PATH_INFO']);
$_SERVER['PATH_INFO'] = str_replace('conc/', '', $_SERVER['PATH_INFO']);
$_SERVER['SCRIPT_NAME'] = str_replace('conc/', '', $_SERVER['SCRIPT_NAME']);
require('concrete/dispatcher.php');
残りはコンフィグとか??
Re: URLをインストール先からドキュメントルートに変更したい
2017年9月30日 at 12:45
Thorさん
契約しているレンタルサーバで確認してみたときの情報です。
* レンタルサーバー MixHost
* サブドメインで確認
* concrete5 8.2.1
*http://サブドメイン/conc でアクセスするとリダイレクトループ
/.htaccess
※ php_value date.timezone は、レンタルサーバMixHostでphp.iniが使えないので指定しています。
/conc/index.php
※ 記述を減らしているのは、エラーになっていたからです。
[30-Sep-2017 11:47:19 Asia/Tokyo] PHP Notice: Undefined index: ORIG_PATH_INFO in xxxxxxxx
[30-Sep-2017 11:47:19 Asia/Tokyo] PHP Notice: Undefined index: PATH_INFO in xxxxxxxx
/conc/.htaccess
契約しているレンタルサーバで確認してみたときの情報です。
* レンタルサーバー MixHost
* サブドメインで確認
* concrete5 8.2.1
*http://サブドメイン/conc でアクセスするとリダイレクトループ
/.htaccess
php_value date.timezone 'Asia/Tokyo'
<IfModule mod_rewrite.c>
DirectoryIndex index.html index.php
RewriteEngine On
RewriteBase /conc
RewriteRule ^$ index.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^conc/ [NC]
RewriteRule ^(.*)$ /conc/$1
</IfModule>
※ php_value date.timezone は、レンタルサーバMixHostでphp.iniが使えないので指定しています。
/conc/index.php
<?php
$_SERVER['REDIRECT_URL'] = str_replace('conc/', '', $_SERVER['REDIRECT_URL']);
$_SERVER['SCRIPT_NAME'] = str_replace('conc/', '', $_SERVER['SCRIPT_NAME']);
require('concrete/dispatcher.php');
※ 記述を減らしているのは、エラーになっていたからです。
[30-Sep-2017 11:47:19 Asia/Tokyo] PHP Notice: Undefined index: ORIG_PATH_INFO in xxxxxxxx
[30-Sep-2017 11:47:19 Asia/Tokyo] PHP Notice: Undefined index: PATH_INFO in xxxxxxxx
/conc/.htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}/index.html !-f
RewriteCond %{REQUEST_FILENAME}/index.php !-f
RewriteRule . index.php [L]
</IfModule>
Re: URLをインストール先からドキュメントルートに変更したい
2017年9月30日 at 15:57
にゃんきちさん
度々ありがとうございます。
インストール時にデフォルトのテーマを使用し、.htaccess、conc/.htaccess、conc/index.phpではにゃんきちさんのコードを使用させていただいております。
・トップページのナビゲーションバー(?※添付しました。)からのリンク先がhttp://ドメイン/conc/index.php/〜〜となっていて404エラーになる。
別のページに移動すると、ナビゲーションバーのリンク先はhttp://ドメイン/〜〜に変わり、正常に閲覧ができる。
・ページ最下部のログインボタンを押すと、ログインフォームが表示されるが、ID,パスを入力しログインしようとするとhttp://ドメイン/index.php/dashbord/welcomeを開こうとして「No input file specified.」が表示される。
※これはURLからindex.phpを削除するとページ遷移できるのでログインは可能。
・welcome画面にて、画面右側の管理画面のすべてのリンクがhttp://ドメイン/index.php/dashbord/〜〜になっているため管理画面の操作ができない。
※プリティーURLがうまく動作していない?これらもindex.phpを手動で消すとつながるが、、、
concrete5はドキュメントルート直下に設置することを前提に作られているということなので、解決は難しいでしょうか。上記の解決手段がない。もしくは私の環境でのみ発生するようであれば、サブディレクトリでの運用か、Xserverでの運用のどちらかを諦めようと思います。
※さくらサーバではドメイン毎にドキュメントルートを設定できるので、設定なしで実現できそうです。
度々ありがとうございます。
インストール時にデフォルトのテーマを使用し、.htaccess、conc/.htaccess、conc/index.phpではにゃんきちさんのコードを使用させていただいております。
・トップページのナビゲーションバー(?※添付しました。)からのリンク先がhttp://ドメイン/conc/index.php/〜〜となっていて404エラーになる。
別のページに移動すると、ナビゲーションバーのリンク先はhttp://ドメイン/〜〜に変わり、正常に閲覧ができる。
・ページ最下部のログインボタンを押すと、ログインフォームが表示されるが、ID,パスを入力しログインしようとするとhttp://ドメイン/index.php/dashbord/welcomeを開こうとして「No input file specified.」が表示される。
※これはURLからindex.phpを削除するとページ遷移できるのでログインは可能。
・welcome画面にて、画面右側の管理画面のすべてのリンクがhttp://ドメイン/index.php/dashbord/〜〜になっているため管理画面の操作ができない。
※プリティーURLがうまく動作していない?これらもindex.phpを手動で消すとつながるが、、、
concrete5はドキュメントルート直下に設置することを前提に作られているということなので、解決は難しいでしょうか。上記の解決手段がない。もしくは私の環境でのみ発生するようであれば、サブディレクトリでの運用か、Xserverでの運用のどちらかを諦めようと思います。
※さくらサーバではドメイン毎にドキュメントルートを設定できるので、設定なしで実現できそうです。
Your post has been saved and will be published after approval by the forum moderator.
Thor
Re: URLをインストール先からドキュメントルートに変更したい
情報ありがとうございます!
一旦環境をリセットしました。
①プリティURLを設定し、.htaccessを作成
②ドキュメントルート直下にも先程と同じ.htaccessを再作成
③index.phpの編集作業
追記しました
ここまでの実施で
http://ドメイン にてトップページは開けた
http://ドメイン/conc を開くとリダイレクトループ (ちょっと直したい)
各リンク先のURLにはconc/index.php入り (手動で変更する必要がある?)
すべてのリンク先に飛べない状況。
といった感じで変化がみられませんでした。
なにかやり方を間違えているのでしょうか…
追記
URL直打ちでページに飛ぶことはできました
が、内部で動くリンク系はだめっぽいですね
追記
サイト内のリンクがすべて
http://ドメイン
で移動できるようになりました。
画面上から管理画面や画面下部のログインボタンなどをクリックすると、リンク先がindex.phpが含まれているURLになっている
その為、リンク先にてエラーが発生する。何か操作をするたびurlからindex.phpを削除しながらの操作になる
サイトマップ、設定画面など、管理画面内のリンクからindex.phpを消す方法を模索中