mod_rewrite上的坏标记分隔符

时间:2015-03-02 20:07:35

标签: .htaccess 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=$1 [P,NC,QSA] 

我收到错误500:

  

public_html / .htaccess:RewriteCond:bad flag delimiters

在我看来要么标志[P,NC,QSA]还是正则表达式查询?

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

你能看出我做错了吗?

干杯

P.S>我讨厌htaccess Mod重写,这是一个痛苦的蠢货!!

1 个答案:

答案 0 :(得分:1)

这样做:

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

评论无法在同一行上跟RewriteCond