Ситуация: веб-проект, в котором находится структура папки.
- www
- 2015
- 2016
- 2017
- 2018
- текущий
Каждая папка представляет веб-сайт того года, в «текущей» папке это веб-сайт, который должен отображаться при переходе на страницуwww.mydomain.com.Цель состоит в том, что если вы зайдете на сайт www.mydomain.com/2017, вы увидите веб-сайт 2017 года.
В корневой папке есть файл .htaccess, который гарантирует, что при переходе к «/»Вы будете перенаправлены на текущий.
Я борюсь с файлом .htaccess, который я должен поместить в папку "2017" (которая является приложением laravel).
.htaccess файл в папке www
<IfModule mod_rewrite.c>
Options +SymLinksIfOwnerMatch
RewriteEngine on
RewriteRule ^(.*)$ current/$1 [L]
</IfModule>
.htaccess файл в папке 2017 года
<IfModule mod_rewrite.c>
Options +SymLinksIfOwnerMatch
RewriteBase /2017
RewriteEngine on
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
Текущий результат: когда я захожу на сайт www.mydomain.com/2017, я захожу в папку 2017 года, но она переходит на страницу «2017» 2017 годаЧтобы проверить это, я просто добавил это в свой маршрут web.php:
Route::get('/{page}', array('as'=>'renderpage',function ($page) {
dd('I am here and the page you request is '.$page);
}));
, что приводит к: «Я здесь, и страница, которую вы запрашиваете, 2017»
Короче говоря: как я могу удалить «2017» из URL в файле .htaccess, чтобы laravel интерпретировал www.mydomain.com/2017 как корень папки 2017.Желательно, чтобы это было сделано в файле .htaccess в папке 2017.
edit: я изменил файл .htaccess в папке 2017 на следующее:
<IfModule mod_rewrite.c>
Options +SymLinksIfOwnerMatch
RewriteBase /2017
RewriteEngine on
RewriteRule ^(/.*|)$ public/$1 [L,NC,R=301]
</IfModule>
теперь он работает, кромев URL вы теперь видите www.mydomain.com/2017/public, как я могу удалить "public" из URL?