我有一个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重写,这是一个痛苦的蠢货!!
答案 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
。