我当前的htaccess
看起来像是
DirectoryIndex welcome.do index.jsp default.php index.wml homepage.php default.htm default.html index.php index.php4 index.php3 index.htm index.html index.shtml default_new_vhost.html
# 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
RedirectPermanent /content.asp?AUID=01 /content/
...
重定向不起作用(我只获得了Wordpress的404页)。原因是URL中的get参数。我尝试了here张贴的答案。 E.g。
RewriteCond %{REQUEST_URI} ^/content.asp$
RewriteCond %{QUERY_STRING} ^AUID=01$
RewriteRule ^.*$ http://www.yourdomain.com/content? [L,R=301]
我得到500错误或者我来到Wordpress的404页面。这样做的正确方法是什么?我的表格中有很多条目
RedirectPermanent /content.asp?pCategory=&pCountry=1&AUID=01 /content/
这是错误的,但我寻找一种有效的方法将它放入htaccess中。我可以使用这样的东西吗?
RewriteCond %{REQUEST_URI} ^/content.asp$
RewriteCond %{QUERY_STRING} ^pCategory=([0-9]+)&pCountry=([0-6]+)$
RewriteRule ^.*$ http://www.yourdomain.com/content? [L,R=301]
答案 0 :(得分:0)
你只是这样做(来自我的网站)
rewriteCond %{QUERY_STRING} ^id=([0-9]+)$
rewriterule ^news_details.asp$ news/index.php?old_id=%1
将^ id替换为任何参数,只需用户%1,%2即可在重写中访问它们,你的将是
rewriteCond %{QUERY_STRING} ^pCategory=([0-9]+)&pCountry=([0-6]+)$
rewriteRule ^content.asp$ /content/?category=%1&country=%2
答案 1 :(得分:0)
我最终得到了以下解决方案:
DirecotryIndex welcome.do index.jsp ...
RewriteCond %{REQUEST_URI} ^/content.asp$
RewriteCond %{QUERY_STRING} ^AUID=01$ [OR]
RewriteCond %{QUERY_STRING} ^pCategory=&pCountry=1&AUID=01$ [OR]
RewriteCond %{QUERY_STRING} ^pCategory=&pCountry=8&AUID=01$
RewriteRule ^.*$ /content? [L,R=301]
RedirectPermanent /italiano/index.asp /it/
# 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代码之后。如果在没有BOM的情况下将htaccess的编码更改为UTF-8,也可以使用变音符号。您还可以使用GET参数重定向到URL而不会出现问题。