我不是.htaccess
代码的程序员,我读过其他相关的帖子,但不理解。他们中没有一个人做我需要的事。
我有一个在http://example.com/main
上运行的Wordpress网站,但希望将http://example.com
重定向到http://otherexample.com/page.php
。还需要不重定向http://example.com/anyfile
。
假设example.com
和otherexample.com
指向不同的位置,则在example.com
的根.htaccess
文件中尝试以下操作:
RedirectMatch 302 ^/$ http://otherexample.com/page.php
正则表达式^/$
仅与/
匹配,即根目录。
^
断言字符串的开头(即URL路径(/
与文字斜杠匹配$
断言字符串的末尾
更新:我发现secondary.com也被重定向了。
如果有多个域指向同一个位置,并且只想重定向其中一个域,则在重定向之前需要先使用mod_rewrite检查主机名。
例如,以下内容需要位于WordPress前端控制器之前的.htaccess
文件的顶部:
RewriteCond %{HTTP_HOST} ^(www.)?example.com [NC]
RewriteRule ^$ http://otherexample.com/page.php [R=302,L]
请注意,RewriteRule
模式与减去斜杠前缀的URL路径匹配,因此regex^$
(与RedirectMatch
指令不同(与空URL路径匹配(即仅根目录(。