我已经查看了有关堆栈溢出问题的其他建议并尝试了它们但无法使其工作...
案例
我正在升级到mywebsite.com
到app.mywebsite.com
,并希望将app.mywebsite.com
上的所有访问重定向到index.html
(spa),但访问者需要运行的脚本除外来自mywebsite.com
app.mywebsite.com/upgrader.php
示例.htaccess
RewriteEngine On
# Ignore existing files or upgrader.php
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR]
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d
RewriteCond %{REQUEST_URI} ^/upgrader\.php$ <--- not working
RewriteRule ^ - [L]
# Redirect all other requests
RewriteRule ^ index.html [L]
问题
我如何添加一个条件,如果网址为app.mywebsite.com/upgrader.php
,它会转到upgrader.php
文件,而不是index.html
?
答案 0 :(得分:1)
这应该做:
RewriteEngine On
# Ignore existing files or upgrader.php
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
RewriteCond %{REQUEST_URI} !^/upgrader\.php$
RewriteRule ^ /index.html [L]
这将使用与您相反的逻辑:它将仅在满足所有3个条件的情况下运行RewriteRule:文件不请求,文件夹不请求,升级程序是不请求(请注意重写条件中的感叹号!)