У меня есть установка Laravel на Wampserver. Каталог выглядит следующим образом:
C: \ WAMP \ WWW \ Laravel
Теперь URL-адреса выглядят следующим образом:
http://localhost/laravel/public/index.php/home/index
Поэтому я использовал следующий код htaccess
Options +FollowSymLinks Options -indexes DirectoryIndex index.PHP RewriteEngine on RewriteCond $1 !^(index\.PHP|images|robots.txt) RewriteCond %{REQUEST_ FILENAME} !-f RewriteCond %{REQUEST_ FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L, QSA]
Чтобы уменьшить URL-адрес
http://localhost/laravel/public/home/index
Но структура laravel настаивает на том, что все файлы приложений находятся в общей папке.
Поэтому я хотел бы знать, что мне нужно добавить (или вычесть) из файла htaccess, чтобы URL мог выглядеть так:
http://localhost/laravel/home/index
благодаря
При локальном тестировании я делаю одно из двух.
Создайте новый .htaccess под общим каталогом со следующим.
<IfModule mod_rewrite.c> RewriteEngine on RewriteRule ^(.*)$ public/$1 [L] </IfModule>
Создайте новый виртуальный хост. С помощью WAMP вы можете перейти к C:\wamp\bin\apache\YOUR APACHE VERSION\conf\extra
и найти файл httpd-vhosts.conf
, там вы можете увидеть пример виртуальных хостов. Вот один из моих:
<VirtualHost *:80> DocumentRoot "c:/wamp/www/laravel/public" ServerName laravel.dev ServerAlias www.laravel.dev </VirtualHost>
Убедитесь, что ваш файл конфигурации vhosts включен. Откройте файл httpd.conf
и найдите файл vhosts
, раскомментируйте строку include, если она закомментирована. Затем я открываю CLI и вводим notepad "C:\windows\system32\drivers\etc\hosts"
который открывает ваш файл hosts. Под элементом, который упоминает localhost
помещает ваш новый хост. Вот пример.
127.0.0.1 laravel.dev
Убедитесь, что вы перезапускаете Apache и bingo, вы должны быть в состоянии перейти на http://laravel.dev
и у вас не будет раздражающего общего каталога. Вот как я это достигаю, так как предпочитаю более привлекательный виртуальный хост, а не длинный URL-адрес localhost
.
Надеюсь это поможет.
Наконец я понял выход. Прежде всего, мне пришлось открыть и отредактировать мой Apache httpd.conf, выбрав его из меню Wamp Aestran. Мне пришлось раскомментировать линию
#Include conf/extra/httpd-vhosts.conf
После этого я открыл файл, который находится на
<wampdirectory>/bin/apache/apache.xyz/conf/extra/httpd-vhosts.conf
затем я добавил следующие строки.
# # Use name-based virtual hosting. # NameVirtualHost *:80 <VirtualHost *:80> DocumentRoot "C:/wamp/www" ServerName localhost Options Indexes FollowSymLinks <Directory "C:/wamp/www"> AllowOverride All Order Deny,Allow Deny from all Allow from 127.0.0.1 #If you want to allow access from your internal network # For specific ip addresses add one line per ip address #Allow from 192.168.0.100 # For every ip in the subnet, just use the first 3 numbers of the subnet #Allow from 192.168.0 </Directory> </VirtualHost> ## must be first so the the wamp menu page loads when you use just localhost as the domain name <VirtualHost *:80> DocumentRoot "C:/wamp/sites/laravel/public" ServerName laravel.dev Options Indexes FollowSymLinks <Directory "C:/wamp/sites/laravel/public"> AllowOverride All Order Deny,Allow Deny from all Allow from 127.0.0.1 #If you want to allow access from your internal network # For specific ip addresses add one line per ip address #Allow from 192.168.0.100 # For every ip in the subnet, just use the first 3 numbers of the subnet #Allow from 192.168.0 </Directory> </VirtualHost>
Следующим шагом было изменить файл моих хостов на C: \ windows \ system32 \ drivers \ etc.
и добавил
127.0.0.1 laravel.dev
Затем перезапустил Wamp, и он сработал. Спасибо вам, ребята, за то, что указали мне в правильном направлении. Действительно ценю это
Самый простой способ, которым я работал над своей локальной средой dev, – сделать следующее:
(Предполагая, что WAMP установлен в C: \ WAMP)
Создайте следующую папку:
c:\wamp\www\laravel
Загрузите laravel и поместите содержимое в указанный выше каталог. Вы узнаете, что сделали это правильно, если вы можете просмотреть hxxp: // localhost / laravel / public и получить начальный экран. Однако это недостаточно. Мы хотим получить этот экран, перейдя по http://localhost/laravel
Итак, мы делаем следующее:
Создайте текстовый файл, содержащий следующее:
Alias /laravel "c:/wamp/www/laravel/public" <Directory "c:/wamp/www/laravel/public"> Options Indexes FollowSymLinks MultiViews AllowOverride all Allow from all </Directory>
Сохраните этот файл как laravel.conf
в каталоге c: \ wamp \ alias.
Наконец, перезапустите ваш сервер.
Теперь вы сможете просматривать http://localhost/laravel
Обратите внимание, что приведенное выше строго для локальной среды разработки.
Вы получите код и свою общую папку, находящуюся там же, что большинство людей не рекомендуют. Я бы посоветовал вам воспользоваться преимуществами использования локального веб-сервера.
Почему бы не заставить mysite.dev
указывать на laravel/public
каталог, чтобы вы могли просто использовать http://mysite.dev
каждый раз, у вас есть более чистый и более короткий URL?
Как newb для WAMP и Laravel, я немного потрудился, но получил работу virtualhost для работы с 64-битным полем WIN7PRO. В WAMPSERVER / Apache / hppd.conf в конце файла я добавил:
NameVirtualHost *:80 <VirtualHost *:80> DocumentRoot C:/webapp/public ServerName webapp <Directory C:/webapp/public > Options Indexes FollowSymLinks MultiViews AllowOverride all Order Deny,Allow Allow from All </Directory> </VirtualHost> <VirtualHost *:80> DocumentRoot C:/wamp/www ServerName localhost </VirtualHost>
и я добавил:
127.0.0.1 webapp
в файл hosts. (Мне никогда не удавалось редактировать файлы vhosts, как и многие сообщения в Интернете.)
Эти изменения позволяют мне перейти в мое тестовое приложение Laravel в моем браузере через
http://webapp (and also, via just http://127.0.0.1)
и, чтобы добраться до всех моих других сайтов, через:
http://localhost/devsite/whatever..