Angularjs 禁止使用Apache别名

Angularjs 禁止使用Apache别名,angularjs,apache,vue.js,mod-rewrite,alias,Angularjs,Apache,Vue.js,Mod Rewrite,Alias,我目前正在尝试在子文件夹中启动web平台的新版本,以便它可以与现有平台共存 e、 g 首先,在使用重写规则时,要禁用多视图。 您可能也希望禁用自动索引,因此这将是选项-索引+FollowSymLinks-多视图 因为您有一个重写规则,所以实际上可以完全避免别名并重写到完整路径。这将使事情更容易管理 比如: RewriteRule v3.*$/var/app/current/new-app/v3/index.html[L] 该规则需要存在于“main”(与DocumentRoot)Director

我目前正在尝试在子文件夹中启动web平台的新版本,以便它可以与现有平台共存

e、 g


首先,在使用重写规则时,要禁用
多视图。
您可能也希望禁用自动索引,因此这将是
选项-索引+FollowSymLinks-多视图

因为您有一个重写规则,所以实际上可以完全避免别名并重写到完整路径。这将使事情更容易管理

比如:

RewriteRule v3.*$/var/app/current/new-app/v3/index.html[L]

该规则需要存在于“main”(与
DocumentRoot
Directory
指令相关的内容)中,因为您不会像使用别名那样访问实际的v3路径本身

一个常见的误解是,重写规则的重写部分应该是一个有效的URL,而它可能只是一个有效的服务器路径。这里有一个有趣的观点:


HTH

首先,在使用重写规则时,您希望禁用多视图。 您可能也希望禁用自动索引,因此这将是
选项-索引+FollowSymLinks-多视图

因为您有一个重写规则,所以实际上可以完全避免别名并重写到完整路径。这将使事情更容易管理

比如:

RewriteRule v3.*$/var/app/current/new-app/v3/index.html[L]

该规则需要存在于“main”(与
DocumentRoot
Directory
指令相关的内容)中,因为您不会像使用别名那样访问实际的v3路径本身

一个常见的误解是,重写规则的重写部分应该是一个有效的URL,而它可能只是一个有效的服务器路径。这里有一个有趣的观点:

    <VirtualHost *:80>
       DocumentRoot "/var/app/current/current-app/releases/current"
        <Directory "/var/app/current/current-app/releases/current">
         Options Indexes FollowSymLinks MultiViews
         AllowOverride All
         Require all granted
         RewriteEngine On
         RewriteCond %{HTTP:X-Forwarded-Proto} !https
         RewriteCond %{HTTP_USER_AGENT} !^ELB-HealthChecker.*
         RewriteRule . https://%{SERVER_NAME}%{REQUEST_URI} [L,R]

         RewriteCond %{REQUEST_FILENAME} \.html$ [OR]
         RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR]
         RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d
         RewriteRule ^ - [L]
         RewriteRule ^ /index.php
        </Directory>

        Alias "/v3" "/var/app/current/new-app/v3/"
        AliasMatch "^/v3/(.*)$" "/var/app/current/new-app/v3/$1"
        <Directory "/var/app/current/new-app/v3">
           Options Indexes FollowSymLinks MultiViews
           AllowOverride All
           Require all granted
           RewriteEngine On
           RewriteBase /
           RewriteCond %{HTTP:X-Forwarded-Proto} !https
           RewriteCond %{HTTP_USER_AGENT} !^ELB-HealthChecker.*
           RewriteRule . https://%{SERVER_NAME}%{REQUEST_URI} [L,R]

           RewriteRule ^index\.html$ - [L]
           RewriteCond %{REQUEST_FILENAME} !-f
           RewriteCond %{REQUEST_FILENAME} !-d
           RewriteRule . /v3/index.html [L]
        </Directory>
      </VirtualHost>