2017-05-05 52 views
0

在我的.htaccess文件中使用这个RewriteRule我得到了RewriteRule:坏标志分隔符,它在浏览器中返回500错误。 .htaccess文件位于根目录中。.htaccess:重写规则:坏标志分隔符 - Apache错误

这里的代码的.htaccess:

RewriteEngine on 

RewriteCond %{REQUEST_FILENAME} !=d 
RewriteCond %{REQUEST_FILENAME} !=f 
RewriteCond %{REQUEST_FILENAME} !=l 

RewriteRule ^(.+) index.php?url=$1 [QSA,L] 

,这里是Apache的错误:

[Fri May 05 16:11:16.180048 2017] [core:alert] [pid 8924:tid 1708] [client ::1:58526] C:/lol/htdocs/proyecto_cf/.htaccess: RewriteRule: bad flag delimiters 
+0

该错误似乎与您发布的指令有关?除非你在该行中有一些隐藏的字符? – MrWhite

+0

这就是整个代码。它似乎没有错误..但我在浏览器中得到一个500错误 – pipex666

+1

请注意,'!= d'应该是'!-d'等,如下所述(但是,这不会导致一个错误)。试着将这些代码复制回你的'.htaccess'文件中,如果你仍然有500错误,那么再次检查你的错误日志。 – MrWhite

回答

0

我从来没有见过-l,尝试删除该行。

# Handles directories 
RewriteCond %{REQUEST_FILENAME} !-d 

# Handles files 
RewriteCond %{REQUEST_FILENAME} !-f 

# If not a file and not a directory we redirect to index.php 
RewriteRule^index.php [L] 
+2

'-l'测试符号链接并且是有效的(如果需要的话)。但是,OP使用'=',它永远不会匹配(但不会导致报告的错误)。 – MrWhite