我不是一个程序员的.htaccess代码,我读了其他相关的职位,但不理解他们。没有他们做我需要的。我有一个运行在http://example.com/main上的WordPress站点,但想将http://example.com重定向到http://otherexample.com/page.php。还需要http://example.com/anyfile不被重定向。
.htaccess
http://example.com/main
http://example.com
http://otherexample.com/page.php
http://example.com/anyfile
atmip9wb1#
假设example.com和otherexample.com指向不同的位置,然后在example.com的根.htaccess文件中尝试以下内容:
example.com
otherexample.com
RedirectMatch 302 ^/$ http://otherexample.com/page.php
正则表达式^/$只匹配/,即根目录。
^/$
/
^
$
如果您有多个域指向同一个位置,而您只想重定向其中一个,那么您需要在重定向之前使用mod_rewrite首先检查主机名。例如,下面的代码需要放在.htaccess文件的顶部WordPress前端控制器之前:
RewriteCond %{HTTP_HOST} ^(www\.)?example\.com [NC] RewriteRule ^$ http://otherexample.com/page.php [R=302,L]
请注意,RewriteRule * 模式 * 匹配的URL路径减去斜杠前缀,因此正则表达式^$(不同于RedirectMatch指令),它匹配一个 * 空 * URL路径(即仅根目录)。
RewriteRule
^$
RedirectMatch
1条答案
按热度按时间atmip9wb1#
假设
example.com
和otherexample.com
指向不同的位置,然后在example.com
的根.htaccess
文件中尝试以下内容:正则表达式
^/$
只匹配/
,即根目录。^
声明字符串开始(即URL路径)/
与文字斜杠匹配$
Assert字符串结尾**更新:**我发现secondary.com也被重定向了。
如果您有多个域指向同一个位置,而您只想重定向其中一个,那么您需要在重定向之前使用mod_rewrite首先检查主机名。
例如,下面的代码需要放在
.htaccess
文件的顶部WordPress前端控制器之前:请注意,
RewriteRule
* 模式 * 匹配的URL路径减去斜杠前缀,因此正则表达式^$
(不同于RedirectMatch
指令),它匹配一个 * 空 * URL路径(即仅根目录)。