Angularjs 禁止使用Apache别名
我目前正在尝试在子文件夹中启动web平台的新版本,以便它可以与现有平台共存 e、 gAngularjs 禁止使用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
首先,在使用重写规则时,要禁用
多视图。
您可能也希望禁用自动索引,因此这将是选项-索引+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>