.htaccess - 重写查询字符串并重定向到目录
.htaccess - Rewrite query string and redirect to directory
由于论坛迁移,我想修复一些旧的 URL。
旧的 URL 看起来像:
http://www.example.com/forum/topic.asp?TOPIC_ID=666
我想将他们重定向到:
http://www.example.com/forum/missions/666
我的方法是这样的,但是我摸不着头脑,因为根本不管用:
RewriteCond %{QUERY_STRING} ^TOPIC_ID=(.*)$ [NC]
RewriteRule ^/forum$ /forum/missions/%1 [NC,L,R=301]
我建议这样做,但不能真正从这里尝试 :)
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^forum/topic.asp\?TOPIC_ID=([0-9]+)$ forum/missions/ [L]
</IfModule>
假设 `/forum/ 中没有 .htaccess,您可以在根 .htaccess 中使用此第一条规则:
RewriteCond %{QUERY_STRING} ^TOPIC_ID=([^&]+) [NC]
RewriteRule ^forum/topic\.asp$ /forum/missions/%1? [NC,L,R=302]
如果 /forum/
中有 .htaccess,那么您可以在 /forum/.htaccess
:
中使用此 第一条规则
RewriteCond %{QUERY_STRING} ^TOPIC_ID=([^&]+) [NC]
RewriteRule ^topic\.asp$ /forum/missions/%1? [NC,L,R=302]
由于论坛迁移,我想修复一些旧的 URL。
旧的 URL 看起来像: http://www.example.com/forum/topic.asp?TOPIC_ID=666
我想将他们重定向到: http://www.example.com/forum/missions/666
我的方法是这样的,但是我摸不着头脑,因为根本不管用:
RewriteCond %{QUERY_STRING} ^TOPIC_ID=(.*)$ [NC]
RewriteRule ^/forum$ /forum/missions/%1 [NC,L,R=301]
我建议这样做,但不能真正从这里尝试 :)
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^forum/topic.asp\?TOPIC_ID=([0-9]+)$ forum/missions/ [L]
</IfModule>
假设 `/forum/ 中没有 .htaccess,您可以在根 .htaccess 中使用此第一条规则:
RewriteCond %{QUERY_STRING} ^TOPIC_ID=([^&]+) [NC]
RewriteRule ^forum/topic\.asp$ /forum/missions/%1? [NC,L,R=302]
如果 /forum/
中有 .htaccess,那么您可以在 /forum/.htaccess
:
RewriteCond %{QUERY_STRING} ^TOPIC_ID=([^&]+) [NC]
RewriteRule ^topic\.asp$ /forum/missions/%1? [NC,L,R=302]