cari

Rumah  >  Soal Jawab  >  teks badan

Konfigurasikan peraturan tulis semula dengan Apache pada pelayan yang sama untuk dapat mengakses kedua-dua bahagian hadapan dan bahagian belakang

Saya mempunyai projek Vue.js dan projek Laravel dalam Apache.

Saya meletakkan Vue.js dalam C:/Apache24/htdocs/vue_project_name,把Laravel放在C:/Apache24/htdocs/laravel_project_name supaya saya boleh mendapatkan konfigurasi berikut:

虚拟主机文档根目录:"C:/Apache24/htdocs/"。

前端URL:"http://domain_name/vue_project_name"

后端URL:"http://domain_name/laravel_project_name"

后端API URL:"http://domain_name/laravel_project_name/public/api"

Saya nak taip http://domain_name时重写URL,浏览器将直接跳转到http://domain_name/laravel_project_name。当我输入http://domain_name/api时,浏览器将直接跳转到http://domain_name/laravel_project_name/public/api.

Sebagai contoh, saya mempunyai API yang boleh saya panggil http://domain_name/laravel_project_name/public/api/login来获取资源,但我希望简化为http://domain_name/api/login untuk mendapatkan sumber.

Bagaimana untuk melaksanakan fungsi ini?

Ini ialah fail httpd-vhosts.conf saya:

<VirtualHost *:80>
    DocumentRoot "C:\Apache24\htdocs"
    ServerName domain_name
    ErrorLog "C:\Apache24\logs\error.log"
    CustomLog "C:\Apache24\logs\access.log" combined
    <Directory "C:\Apache24\htdocs"> 
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

Saya tahu apabila saya menaip http://domain_name时,Apache会直接跳转到http://domain_name/laravel_project_name, seperti ini:

<VirtualHost *:80>
    DocumentRoot "C:\Apache24\htdocs\vue_project_name"
    ServerName domain_name
    ErrorLog "C:\Apache24\logs\error.log"
    CustomLog "C:\Apache24\logs\access.log" combined
    <Directory "C:\Apache24\htdocs\vue_project_name"> 
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

Tetapi saya rasa ini akan menjejaskan laluan belakang, jadi saya perlukan penyelesaian yang lebih baik.

Terima kasih.

P粉946336138P粉946336138330 hari yang lalu502

membalas semua(1)saya akan balas

  • P粉187160883

    P粉1871608832024-01-17 11:29:04

    Laravel mesti tunjuk <project_root>/public, itu masalah awak...

    Mengemas kini konfigurasi berkaitan Laravel kepada DocumentRoot: "C:/Apache24/htdocs/laravel_project_name/public".

    Saya tahu anda menggunakan Apache, tetapi lihat cara untuk menghalakan Nginxkonfigurasi ke folder itu.

    balas
    0
  • Batalbalas