【问题标题】:RewriteRule: cannot compile regular expressionRewriteRule:无法编译正则表达式
【发布时间】:2013-09-14 12:07:02
【问题描述】:

我收到以下错误:

RewriteRule:无法编译正则表达式'^/?(\\d+)/?([a-zA-Z0-9-_]*)(\\.html|/)?$'\n

请在下面找到我的 htaccess 配置:

RewriteRule ^/?mokuji - [S=1]
RewriteRule ^/?(\d+)/?([a-zA-Z0-9-_]+)/([a-zA-Z0-9-_/]+)(\.html)?$ index.php?pid=$1&pkey=$2&pkey_ext=$3&%{QUERY_STRING}

我在哪里做错了?

【问题讨论】:

    标签: regex .htaccess mod-rewrite


    【解决方案1】:

    连字符需要在正则表达式的第一个或最后一个位置以避免转义,否则需要转义

    把你的规则改成这样:

    RewriteRule ^mokuji - [S=1]
    RewriteRule ^(\d+)/([\w-]+)/([\w/-/]+)(\.html)?$ index.php?pid=$1&pkey=$2&pkey_ext=$3 [L,QSA]
    

    【讨论】:

    • 感谢您的宝贵时间。
    • 如果这个答案帮助您解决了问题,请考虑将其标记为“已接受”,以便以后遇到类似问题的用户能够轻松看到。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-30
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多