Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 如果url不包含特定路径,则应用重写规则_Angularjs_Apache_.htaccess_Mod Rewrite_Url Rewriting - Fatal编程技术网

Angularjs 如果url不包含特定路径,则应用重写规则

Angularjs 如果url不包含特定路径,则应用重写规则,angularjs,apache,.htaccess,mod-rewrite,url-rewriting,Angularjs,Apache,.htaccess,Mod Rewrite,Url Rewriting,我已经为使用html5路由的AngularJs应用程序编写了这个重写规则 重写url如下所示: RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !^.*\.(jpg|css|js|gif|png|html|woff)$ RewriteRule ^ index.html [L] 我希望所有包含路径/ol

我已经为使用html5路由的AngularJs应用程序编写了这个重写规则

重写url如下所示:

 RewriteEngine On
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteCond %{REQUEST_URI} !^.*\.(jpg|css|js|gif|png|html|woff)$
 RewriteRule ^ index.html  [L]
我希望所有包含路径/old/和路径/images/的URL不会被重写

有人可以帮助我,我尝试添加如下重写条件:

 RewriteCond %{REQUEST_URI} !^/old/
但它不起作用

问候,, 洛伦佐

更新


如果您将AngularJS与路由一起使用,请在
元素上使用target=“\u self”,该元素在同一域中具有链接,但不在angular路由下

第三个
RewriteCond
无效,因为您已经在第一个条件下检查现有文件

此外,如果您在子目录中(如
/old/
或其他目录),则应在
index.html
中添加
重写基
或前导斜杠。否则它将在当前目录中查找(可能是404错误)

您可以用此代码替换您的代码

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/(old|images)/ [NC]
RewriteRule . /index.html  [L]