简单的regex不htaccess的工作

看起来像一个简单的问题。 但我根本不明白:

这片htaccess的规则做的工作:

RewriteEngine On RewriteRule ^m(.+)$ ?s=$1

但是,这并不:

RewriteEngine On RewriteRule ^(.+)$ ?s=$1

它返回一个内部服务器错误 。 什么是错的正则表达式? 我应该为了工作而改变?

--------------解决方案-------------

我不知道什么是“不起作用”确切指的是,但我认为它可能会卡在重写循环。

尝试这个:

RewriteEngine On
RewriteCond %{REQUEST_URI} !^?s=
RewriteRule ^(.+)$ ?s=$1

我没有测试过这一点,但它应该做的,如果有已不是一个?s参数只能重写补充说。

哦,我才意识到你也可以寻找在RewriteConds实际的查询字符串。 你可以试试:

RewriteEngine On
RewriteCond %{QUERY_STRING} !s=
RewriteRule ^(.+)$ ?s=$1

分类:正则表达式 时间:2015-03-14 人气:1
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.799 (s). 10 q(s)