看起来像一个简单的问题。但我根本不明白:
这条htaccess规则确实有效:
RewriteEngine On
RewriteRule ^m(.+)$ ?s=$1
但这不是:
RewriteEngine On
RewriteRule ^(.+)$ ?s=$1
它返回内部服务器错误。这个正则表达式有什么问题?为了工作应该改变什么?
答案 0 :(得分:0)
我不知道“不起作用”究竟意味着什么,但我认为它可能会陷入重写循环。
试试这个:
RewriteEngine On
RewriteCond %{REQUEST_URI} !^?s=
RewriteRule ^(.+)$ ?s=$1
我没有对此进行过测试,但如果没有添加?参数,它应该只重写。
答案 1 :(得分:0)
哦,我刚才意识到你也可以在RewriteConds中查找实际的查询字符串。你可以尝试:
RewriteEngine On
RewriteCond %{QUERY_STRING} !s=
RewriteRule ^(.+)$ ?s=$1