.htaccess-从代理重定向中排除特定的URL和目录

时间:2018-12-12 04:17:31

标签: laravel .htaccess laravel-5.6 nuxt.js

我已经设置了Laravel并在https://example.com上正常运行。

我也有一个Nuxt.js应用,该应用已在http://127.0.0.1:3000上正常运行。

现在,我想为https://example.comhttp://127.0.0.1:3000以外的所有传入请求做代理-

  • https://example.com/sitemap.xml
  • https://example.com/assets/*
  • https://example.com/auth/*
  • https://example.com/uploads/*
  

我希望以上所有路径和目录都使用默认的Laravel应用。

这是我正在使用的.htaccess-

<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}]

    # make all request https
    RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
    RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

    RewriteCond %{HTTPS} !on
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

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

    # Handle Front Controller...
    RewriteCond %{REQUEST_URI} !^(assets|auth|uploads|sitemap.xml) [NC]
    RewriteRule ^(.*)$ http://127.0.0.1:3000/$1 [P,L]

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

但是它正在代理包括/sitemap.xml, /assets/*, /auth/*, /uploads/*在内的所有URL。

任何人都可以帮忙。预先感谢

0 个答案:

没有答案