【问题标题】:htaccess redirect specific page of specific domains to specific pageshtaccess 将特定域的特定页面重定向到特定页面
【发布时间】:2014-04-07 16:10:00
【问题描述】:

我创建了一个新的 Wordpress 网站,它将取代一个多域网站。 服务器重定向已在不同的域上完成,以将它们全部指向同一路径。

我需要根据父域重定向页面,并将特定域页面重定向到新的特定域页面。

例如,当请求“www.mysite-example.com.au/contact”时,它应该重定向到“mysite.com.au/contact-us”和“www.mysite-example.com.au/联系人/表单”应该重定向到“mysite-example.com.au/request-contact-form”

这是我当前正在执行全局重定向的 htaccess

Options +FollowSymLinks
RewriteEngine On

RewriteCond %{HTTP_HOST} ^www.abilitypeople.com$ [NC]
RewriteRule ^(.*)$ http://abilitypeople.co.uk/ [R=301,L]

RewriteCond %{HTTP_HOST} ^www.abilitypeople.co.uk$ [NC]
RewriteRule ^(.*)$ http://abilitypeople.co.uk/ [R=301,L]

RewriteCond %{HTTP_HOST} ^www.abilitypeople.com.au$ [NC]
RewriteRule ^(.*)$ http://abilitypeople.com.au/ [R=301,L]


# 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

有谁知道如何在同一个 htacces 上创建这些重定向

"www.mysite-example.com.au/contact" -> "mysite.com.au/contact-us"
"www.mysite-example.com.au/contact/form" -> "mysite-example.com.au/request-contact-form"

"www.mysite-example.co.uk/contact" -> "mysite.co.uk/contact-us"
"www.mysite-example.co.uk/contact/form" -> "mysite-example.co.uk/request-contact-form"

顺便感谢阿努巴瓦的帮助

【问题讨论】:

    标签: .htaccess redirect url-redirection


    【解决方案1】:

    你可以有这样的规则:

    Options +FollowSymLinks -MultiViews
    RewriteEngine On
    
    RewriteCond %{HTTP_HOST} ^(www\.)?abilitypeople\.com$ [NC]
    RewriteRule ^ http://abilitypeople.co.uk%{REQUEST_URI} [R=301,L,NE]
    
    RewriteCond %{HTTP_HOST} ^www\.(abilitypeople\.(?:co\.uk|com\.au))$ [NC]
    RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L,NE]
    
    RewriteRule ^contact/?$ contact.php [L,QSA]
    

    【讨论】:

    • 感谢您的回复。扩展名不同,我也想删除重定向上的“www”。这会成功吗? RewriteCond %{http_host} ^www\.(mysite-example\.(?:com\.au|co\.uk))$ [NC] RewriteRule ^ http://%1%{REQUEST_URI} [R=301, L,NE] RewriteRule ^contact/?$ contact.php [L,QSA]
    • 我会在今天下午 5 点左右(7 小时后)试一试。顺便说一句,我的域中有一个 .com.au 和另一个 .co.uk,你能快速解释一下为什么这样:www\.(mysite-example.com\.(?:au|uk) 可以工作吗?(我有点困惑)谢谢你的帮助
    • 感谢您的快速回复,今晚将尝试
    • 嘿 Anubhava,我进行了测试,但是所有 RewriteRules 都不起作用。我更新了我的问题,让您知道测试已完成。非常感谢您的帮助
    • 嗯,只有当/clients/ 有任何其他规则时才有可能,否则/clients/ 也有.htaccess?确保 301 规则是第一条规则。
    猜你喜欢
    • 2017-08-16
    • 1970-01-01
    • 2017-12-26
    • 1970-01-01
    • 2010-12-06
    • 1970-01-01
    • 2019-01-15
    • 1970-01-01
    • 2013-07-02
    相关资源
    最近更新 更多