環境はLaravel5.3, PHP5.6.22, CentOS 6.8です。
今回既存サイトの一部分を改修するとのことで、以下の方法でシンボリックリンクを貼り、Laravelを構築しました。
http://qiita.com/qwe001/items/3fcd21381b0547001557
今回はPC版とSP版が必要なので次のようにルーティングの設定をしました。
php
1Route::get('/', 'ItemsController@index')->name('index'); 2Route::get('/hoge', 'ItemsController@hoge')->name('hoge'); 3 4Route::group(['prefix' => 'sp', 'namespace' => 'Sp'], function() { 5 Route::get('/', 'ItemsController@index')->name('index'); 6 Route::get('/hoge', 'ItemsController@hoge')->name('hoge'); 7});
URLとしては次のようなイメージです。
example.com/ -> TOP PC(HTML)
example.com/sp/ -> TOP SP(HTML)
example.com/items/ -> Laravel PC 親ページ(PHP)
example.com/items/hoge -> Laravel PC 子ページ(PHP)
example.com/items/sp -> Laravel SP 親ページ(PHP)
example.com/items/sp/hoge -> Laravel PC 子ページ(PHP)
このうち、example.com/items/spのみ、アクセスするとexample.com/sp/にリダイレクトしてしまいます。
そこで以下のようにルーティングを変更してみましたが、結果は変わらず。
php
1Route::get('/sp', 'Sp\ItemsController@index')->name('index'); 2Route::get('sp', 'Sp\ItemsController@index')->name('index'); 3 4//Route::group(['prefix' => 'sp', 'namespace' => 'Sp'], function() { 5// Route::get('/', 'ItemsController@index')->name('index'); 6// Route::get('/hoge', 'ItemsController@hoge')->name('hoge'); 7//});
次のようにしてみると、Viewは表示されますが、やはり/items/spのみリダイレクトします。
php
1Route::get('/mobile', 'Sp\ItemsController@index')->name('index'); 2Route::get('/test', 'Sp\ItemsController@index')->name('index'); 3Route::get('/sp', 'Sp\ItemsController@index')->name('index'); 4 5//Route::group(['prefix' => 'sp', 'namespace' => 'Sp'], function() { 6// Route::get('/', 'ItemsController@index')->name('index'); 7// Route::get('/hoge', 'ItemsController@hoge')->name('hoge'); 8//});
さらに/items/sp/indexのようにしてみると、これは表示されます。
php
1Route::group(['prefix' => 'sp', 'namespace' => 'Sp'], function() { 2 Route::get('/', 'ItemsController@index')->name('index'); 3 Route::get('/index', 'ItemsController@index')->name('index'); 4 Route::get('/hoge', 'ItemsController@hoge')->name('hoge'); 5});
でも表示させたいURLはあくまで/items/spです。
.htaccessにUA判別してリダイレクトするみたいな記述はしておりません。
Apacheでもspにエイリアスがかかっていたりもしません。
親階層のHTMLディレクトリには.htaccessは存在しません。
なぜ勝手に意図しないリダイレクトが発生するのでしょうか。
原因が全くわからず、完全にお手上げ状態です。
こちらの現象に遭遇した方がいらっしゃいましたら、ご助言頂けますでしょうか。。。よろしくお願いいたします。

回答1件
あなたの回答
tips
プレビュー