Laravel 404 не найден после git merge / rebase - PullRequest
5 голосов
/ 14 октября 2019

Я занимался разработкой приложения Laravel, все работало нормально, пока я не сделал подтягивание и перебазирование. После этого он перестал работать, теперь я вижу только страницу 404.

Я попытался перенастроить Apache, но это не помогло.

Вот моя конфигурация Apache.

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName adminuistore.com
    ServerAlias www.adminuistore.com
    DocumentRoot "/var/www/adminuistore/public"

    <Directory "/var/www/adminuistore/public">
            Options FollowSymLinks
            ReWriteEngine On
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Я также пытался поместить оператор var_dump в файл index.php, однако вывод по-прежнему отсутствует.

Я запускаю Apache внутри докера, вот файл docker-compose.yml

version: "3"

services:
  webserver:
    build:
      context: ./bin/webserver
    container_name: '7.1.x-webserver'
    restart: 'always'
    ports:
      - "80:80"
      - "443:443"
    links:
      - mysql
      - mongodb
    volumes:
      - ${DOCUMENT_ROOT-./www}:/var/www/adminuistore
      - ${DOCUMENT_ROOT-./wwwdata}:/var/www/html
      - ${PHP_INI-./config/php/php.ini}:/usr/local/etc/php/php.ini
      - ${VHOSTS_DIR-./config/vhosts}:/etc/apache2/sites-enabled
      - ${LOG_DIR-./logs/apache2}:/var/log/apache2
  mongodb:
    image: mongo
    ports:
      - 27017:27017
    volumes:
      - ${MONGO_DATA_DIR-./data/mongo}:/data/db
    environment:
      - MONGO_INITDB_ROOT_USERNAME=admin
      - MONGO_INITDB_ROOT_PASSWORD=admin

  mysql:
    build: ./bin/mysql
    container_name: '5.7-mysql'
    restart: 'always'
    ports:
      - "3306:3306"
    volumes:
      - ${MYSQL_DATA_DIR-./data/mysql}:/var/lib/mysql
      - ${MYSQL_LOG_DIR-./logs/mysql}:/var/log/mysql
    environment:
      MYSQL_ROOT_PASSWORD: tiger
  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    container_name: 'sc-phpmyadmin'
    links:
      - mysql
    environment:
      PMA_HOST: mysql
      PMA_PORT: 3306
    ports:
      - '8080:80'
    volumes:
      - /sessions
  redis:
    container_name: 'sc-redis'
    image: redis:latest
    ports:
      - "6379:6379"

Может кто-нибудь подсказать, как найти проблему?

1 Ответ

0 голосов
/ 15 октября 2019

По вашему вопросу, я могу предположить, что файл .htaccess был добавлен в gitignore.

В результате после перебазировки файл отсутствует в вашем каталоге public.

Пожалуйстапроверьте, существует ли он до сих пор. Если он отсутствует, попробуйте создать его со следующим содержимым:

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews -Indexes
    </IfModule>

    RewriteEngine On

    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} (.+)/$
    RewriteRule ^ %1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

Это файл Laravel .htaccess по умолчанию.

Другой причиной такого поведения может быть неверное разрешение DNS. Как я могу догадаться, вы работаете локально. И вы изменили файл /etc/hosts для ответа на определенные домены.

Пожалуйста, проверьте также файл hosts.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...