RewriteRule 错误:标志分隔符错误

39

我在我的 .htaccess 文件中使用这个 RewriteRule,但是浏览器返回了 500 错误信息,显示出现了“RewriteRule: Bad flag delimiters”错误。请问有谁能指导我正确的方向吗?谢谢。

RewriteEngine On

RewriteCond %{HTTP_HOST} ^example.com [NC]

RewriteRule ^dev/(.*)$ http://dev.example.com/$1 [L,R=301, NC]

这是在Digital Ocean Droplet上的Ubuntu。

2个回答

85
事实证明,这是因为在标志声明中,在 N 前面有一个空格所致 [L,R=301, NC]。我将其更改为 [L,R=301,NC],现在它运行得很好。

谢谢。我将一个页面从Ubuntu 14移动到Ubuntu 18,空间在Ubuntu 14机器上运行良好! - Edwin Krause

18

请查看下面的链接,它将给出含有错误的代码行,很容易修复

http://www.htaccesscheck.com/index.html

对于您的情况,它会明确指出以下行中的不良标志,在其编辑器中进行更正并在那里检查即可。

RewriteRule ^dev/(.*)$ http://dev.example.com/$1 [L,R=301, NC]

RewriteRule ^dev/(.*)$ http://dev.example.com/$1 [L,R=301,NC]

太好了,单个空格就能引起错误。谢谢你教给我这个。 - Yusuf Çağlar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接