Re: リダイレクト
お返事ありがとうございます。
.htaccessは下記の通りです。
# -- concrete5 urls start --
<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>
# -- concrete5 urls end --
で、困っているのは、オートナビで作られた各ページへのリンクには、ひとつも「index.php」がついていないにも関わらず、その中のホームのみクリックすると「index.php」にリダイレクトされてしまいます。
もちろん、手入力した場合でも同様です。
ドメイン名の最後に「/」はありません。
で、「index.php」は表示したくないだけなのです。
疑問点を具体的に書きますと、プリティURLを有効にしているので、「http://xxxxxxx.co.jp/sample」をクリックしても「http://xxxxxx.co.jp/index.php/sample」にはリダイレクトされず、「http://xxxxxxx.co.jp/sample」でアクセスできます。
なのに、ホームの「http://xxxxxxx.co.jp」にアクセスすると、「http://xxxxxxx.co.jp/index.php」にリダイレクトされてしまうのは、何がいけないのでしょうか?
Re: Re: リダイレクト
試してみましたが、うまくいきませんでした。
で、要求URLを見たら、存在するはずの「http://xxxxxxx.co.jp」となっていましたが、
ステータスコードが301となっていました。
なので、「http://xxxxxxx.co.jp/index.php」にリダイレクトされています。
そもそも、301が返ってくる事自体がおかしいと思ってます。
もう少し調べてみます。
Re: リダイレクト
http://concrete5-japan.org/help/5-6/install/hosting/sakura/#prettyurl
上記に何か書いてありますか?
Re: リダイレクト
<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$http://xxxxxxx.co.jp/$1 [R=301,L]
</IfModule>
ドメインの部分は、実際のドメインに変えて下さいね。
Re: リダイレクト
自機で確認致しまた。(Apache+concrete5.7.4.2)です。
<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]
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^/(.*) http://xxxxxxx.co.jp/$1 [L,R,NE]
</IfModule>
のほほんももんが
Re: リダイレクト
と思うのですが、
検索で
index.php 非表示で調べてみましたら、
上△が入ってるサンプルを見ました。
公式にもサンプルがありました
http://concrete5-japan.org/help/faq/how_to_use_prettyurl/
上記の4番あたりが参考になると思います。
以下のこんなようになってます。
自分の現在稼働しているサイトでは
でやって見たが大丈夫だった。