Laravel Ajax网址未指向公用文件夹

时间:2019-06-17 15:55:10

标签: laravel .htaccess

我是Laravel的新手。我已经将项目托管在/ var / www / html / projectfolder的服务器中。

项目文件夹具有公用文件夹,其中包含js和css文件。

在js文件中,我编写了ajax调用。例如,

    $.ajax({
        //this part
        url: "/some/thing/",

我在浏览器中签到时,它指向

  

http://servername.com/some/thing

但是我需要实现,

  

http://servername.com/projectfolder/some/thing

我在projectfolder中有如下htaccess文件,

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)$ public/$1 [R]

我在projectfolder / public中有如下htaccess文件,

    # Access-Control-Allow-Origin "*"
<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews -Indexes
    </IfModule>

    RewriteEngine On
    <IfModule mod_headers.c>
        Header always set Access-Control-Allow-Origin "*"
    </Ifmodule>


    # 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>

在localhost中,与我通过php artisan serve运行项目时相同的代码可以正常工作

但是在服务器中,路径未设置。

请帮助我。

关于, 雷卡

2 个答案:

答案 0 :(得分:0)

通过删除第一个斜杠/:

$.ajax({
        //this part
        url: "/projectfolder/some/thing/",

答案 1 :(得分:0)

快速添加:

$.ajaxSetup({ headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') } });

var url = "{{URL::to('/')}}";

然后使用

url:url + '/projectfolder/some/thing/'