仅当路径在Root中时重定向(重写条件根)

时间:2015-03-04 21:59:08

标签: .htaccess redirect

我想将mypage.de/48153重定向到mypage.de/apo/48153,但如果我添加此规则:

RedirectMatch 301 /48153 /apo/#/48153

我认为它将进入无限循环,因为规则也与目标匹配。

我试过了:

# Rewrite sites to angular views (only if root)
RewriteCond %{REQUEST_URI}  !(apo) [NC]
RedirectMatch 301 /48153 /apo/#/48153

以防止在重定向后使用规则。它改变了没有内部服务器错误的行为。但它打破了我的所有AngularJs代码。

差异在哪里:

RewriteEngine On
RewriteRule ^48153$ /apo/#/48153 [R=301,L] 

如果我改变重定向,例如48152 -> 48153一切正常,所以我猜它会正确地重定向。

1 个答案:

答案 0 :(得分:0)

# Rewrite ec sites to angular views (only if root)
RewriteCond %{REQUEST_URI}  !(apo) [NC]
RewriteRule ^48153$ /apo/#/48153 [R=301,NE,L]

这对我有用。 NE会阻止#转义。我想不需要RewriteCond,因为Rewriterule使用L标记。