我已将网站从一个框架移动到另一个框架,现在我想重定向重要页面(大约20个)。如何使用apache重写来重定向它们?以下是示例:
Old: http://mydomain.com/ba/stream.php?kat=15
New: http://www.mydomain.com/bs/about-us/our-partners
Old: http://mydomain.com/ba/stream.php?kat=29
New: http://www.mydomain.com/bs/catalogues/it-catalogue
此外,在列出重要页面后,我想重定向表格中所有剩余的链接:
http://mydomain.com/ba/whatever-is-here
到
http://www.mydomain.com/bs/
按照TerryE的建议,我会附上我的最新代码,但不起作用:)
RewriteCond %{QUERY_STRING} ^kat=15$
RewriteRule ^stream\.php$ http://www.mydomain.com/bs/about-us/our-partners [R=301,L]
还有一点需要注意:我使用此代码将根域重定向到www子域:
RewriteCond %{HTTP_HOST} ^mydomain\.com$ [NC]
RewriteRule ^(.*)$ http://www.mydomain.com/$1 [R=301,L]
我已将此根目录放在代码下方的www代码中以进行特定页面重定向,当我在浏览器中测试http://mydomain.com/ba/stream.php?kat=15
时,我被重定向到http://www.mydomain.com/bs/ba/stream.php?kat=15
答案 0 :(得分:1)
阿德南,
您需要将以下行添加到DOCROOT/.htaccess
。这假设您的.htaccess
子目录中没有任何ba
文件。 (有关原因的解释,请参阅Tips for debugging .htaccess rewrite。)
RewriteEngine On
RewriteBase /
#
# Redirect kat 15 to the Partners page
#
RewriteCond %{QUERY_STRING} ^kat=15$
RewriteRule ^ba/stream\.php$ http://www.mydomain.com/bs/about-us/our-partners? [R=301,L]
#
# Redirect all other kat ids to the corresponding bs page
#
RewriteCond %{QUERY_STRING} ^kat=(\d+)$
RewriteRule ^ba/stream\.php$ http://www.mydomain.com/bs/%1? [R=301,L]
注意: