我最近问了一个关于让特定的重写工作的问题。我确实得到了一个可行的答案,并在我的一个网站上使用了它。现在我正在尝试重用这种方法,但我发现逻辑正在落入 Wordpress 重写部分,并且我自己的重定向根本没有被触发。
# BEGIN Redirect deprecated site links to wp equivalent
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} ^news=13$
RewriteRule ^news_comments.php$ http://example.com/example-directory/ [R=301]
RewriteCond %{QUERY_STRING} ^news=51$
RewriteRule ^news_comments.php$ http://example.com/example-page.php [R=301]
</IfModule>
# END Redirect deprecated site links to wp equivalent
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
我显然需要 Wordpress 重写,但我需要触发我在顶部指定的那些并跳过 Wordpress 规则。
我四处搜索并看到了一些使用类似...的建议
...
RewriteCond %{QUERY_STRING} ^news=51$
RewriteRule ^news_comments.php$ http://example.com/example-page.php [R=301]
RewriteRule ^news_comments.php$ - [L]
</IfModule>
...但我似乎无法让它工作。有任何想法吗?