Regex 使用htaccess重定向时出现内部服务器错误

Regex 使用htaccess重定向时出现内部服务器错误,regex,wordpress,apache,.htaccess,mod-rewrite,Regex,Wordpress,Apache,.htaccess,Mod Rewrite,我在我的WP博客中有一个.htaccess,我想重定向,例如 到 我的剧本: Options +FollowSymLinks -MultiViews RewriteEngine On RewriteBase / RewriteCond %{QUERY_STRING} ^feed=rss2&cat=([^&]+) [NC] RewriteRule /?$ /?cat=%1 [L,R=301] 不幸的是,我得到一个内部服务器错误,不知道为什么。。。有人能帮忙吗?试着把它改成 O

我在我的WP博客中有一个.htaccess,我想重定向,例如

我的剧本:

Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} ^feed=rss2&cat=([^&]+) [NC]
RewriteRule /?$ /?cat=%1 [L,R=301]
不幸的是,我得到一个内部服务器错误,不知道为什么。。。有人能帮忙吗?

试着把它改成

Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} ^feed=rss2&cat=([^&]+) [NC]
RewriteRule ^ /?cat=%1 [L,R=301]

我将
/?$
替换为
^

由于您使用此正则表达式的正则表达式中的错误,它无法工作:

 /?$
它将每次匹配每个URL,并将导致循环(并将导致内部服务器错误)

你可能是这个意思:

Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} ^feed=rss2&(cat=[^&]+) [NC]
RewriteRule ^/?$ /?%1 [L,R=301]