这就是我要完成的工作,我会尽力解释...
通过.htaccess文件,我试图将一个站点的所有页面重定向到另一个站点,但是仅在URL不存在的情况下。如果该URL存在,则什么也不做。加载该URL。如果该URL不存在,请重定向到另一个站点的主页。
因此,转到www.johnny.com/boxing(无文件)或什至只是www.johnny.com(无文件)都将重定向到www.johnpunches.com,因为这两个URL都不起作用。这将适用于www.johnny.com上不存在的任何URL。它将直接重定向到www.johnpunches.com的索引页面
但是,由于该页面存在,进入www.johnny.com/members(有工作目录)实际上将转到该URL而不重定向。
因此,同样,如果URL存在,则什么也不做。加载该URL。如果该URL不存在,请重定向到另一个站点的主页。
答案 0 :(得分:0)
RewriteEngine On
# File does not exist
RewriteCond %{REQUEST_FILENAME} !-f
# Directory does not exist
RewriteCond %{REQUEST_FILENAME} !-d
# Redirect to new domain if the above were missing
RewriteRule ^(.+)$ https://www.google.com/$1 [NC,QSA]
Change out google.com to whatever domain you are redirecting to.
答案 1 :(得分:0)
好的,我能够从另一个线程获得一些帮助并将其整合在一起:
RewriteEngine on
RewriteCond %{http_host} ^johnny.com [nc]
RewriteRule ^(.*)$ http://www.johnny.com/$1 [r=301,nc,l]
RewriteRule !^folder($|/) http://www.johnkicks.com [L,R=301]
在上面的示例中,“文件夹”可以替换为任何有效的目录。第二行和第三行在最终规则运行之前强制使用网站的www版本,以便使任何有效的URL(例如johnny.com/folder)都重定向到www.johnny.com/folder。
两个问题: