mod_rewrite 上的错误标志分隔符

bad flag delimiters on mod_rewrite

我有一个 htaccess mod_rewrite 应该:

site.co.uk/text 转换为 site.co.uk/text 但工作方式为: site.co.uk/biz.php?name=text ,使用限定符它只影响 / 之后不是文件的字符串或文件夹。我的代码在这里:

RewriteCond %{REQUEST_FILENAME} !-d # not an existing dir
RewriteCond %{REQUEST_FILENAME} !-f # not an existing file
RewriteRule ^([\w]+)$ cottages.php?name= [P,NC,QSA] 

我收到错误 500:

public_html/.htaccess: RewriteCond: bad flag delimiters

在我看来,哪个是 标志 [P,NC,QSA] 或正则表达式查询?

我已将正则表达式重写为 [a-zA-Z0-9] 但这并没有改变错误。我还删除了个人和所有标志,但这也没有改变错误。注释掉这些行确实消除了错误。我认为错误在 RewriteRule 中,但如果删除(注释掉)规则,我还需要删除条件。

你能看出我做错了什么吗?

干杯

P.s> 我讨厌 htaccess Mod 重写,这很麻烦!!

这样说:

# not an existing dir
RewriteCond %{REQUEST_FILENAME} !-d
# not an existing file
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(\w+)/?$ cottages.php?name= [P,QSA]

评论不能跟在同一行的 RewriteCond 之后。