0

我在 stonycreekgallery.com.au 有一个 WordPress 网站,其中包含 redpeppergallery.com.au 作为插件域(更正:'停放域',抱歉)。

我希望访问者主要以 stonycreekgallery.com.au 的形式浏览该站点,但每当他们访问单个页面http://stonycreekgallery.com.au/red-pepper-gallery/时,我希望将 URL 重写为 redpeppergallery.com.au。

我发现了一个类似的问题(未回答)并尝试了以下方法:

RewriteCond %{HTTP_HOST} ^(www.)?redpeppergallery.com.au$ [NC]
RewriteCond %{REQUEST_URI} !^/red-pepper-gallery/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /red-pepper-gallery/ [L]
RewriteCond %{HTTP_HOST} ^(www.)?redpeppergallery.com.au$ [NC] 
RewriteRule ^(/)?$ red-pepper-gallery/ [L] 

这些规则当前在域上处于活动状态。

有什么指点给我吗?!TIA,蒂姆


编辑:一些澄清......

  • 只有一个站点,在 wordpress 站点上运行
  • redpeppergallery 的链接在 WordPress 中设置为指向 redpeppergallery.com.au
  • redpeppergallery 是一个停放的域/域别名(上面我错误地将其称为插件)
  • redpeppergallery.com.au 应直接访问http://stonycreekgallery.com.au/red-pepper-gallery/

以下完成了一半的工作 - 它将 redpeppergallery 直接带到正确的页面:

RewriteCond %{HTTP_HOST} ^(www.)?redpeppergallery.com.au$ [NC]
RewriteCond %{REQUEST_URI} !^/red-pepper-gallery/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ http://stonycreekgallery.com.au/red-pepper-gallery/ [L]

任务的第二部分是:当在页面 stonycreekkgallerycom.au/red-pepper-gallery/(仅此页面)上时:将 URL 显示为 redpeppergallery.com.au.. 这是我不确定的......我已经尝试过:

RewriteCond   %{REQUEST_FILENAME}   ^stonycreekgallery.com.au/red-pepper-gallery/?$         [NC]
RewriteRule   http://redpeppergallery.com.au/  [R=301]

我希望迟早会遇到一个循环,但它还没有发生:) 我尝试过的最后一个片段的变化没有效果......

4

1 回答 1

0

尝试将其放入stonycreekkgallery.com.au域的文档根目录中的 htaccess 文件中:

Redirect 301 /red-pepper-gallery http://redpeppergallery.com.au/

如果您不想重定向,但希望浏览器的 URL 地址栏保留在stonycreekkgallery.com.au,那么这将取决于您的配置。

如果两个域都停在同一个文档根目录下,例如http://stonycreekgallery.com.au/,并且http://redpeppergallery.com.au/都从目录提供服务/something/www/root,那么您可以在文档根目录的 htaccess 文件中执行此操作:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www.)?stonycreekgallery.com.au$ [NC]
RewriteRule ^red-pepper-gallery/(.*) /$1 [L]

否则,如果一个文档根目录位于另一个文档根目录中,例如,http://stonycreekgallery.com.au/从目录提供/something/www/root但从http://redpeppergallery.com.au/目录提供,/something/www/root/gallery那么您将执行以下操作:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www.)?stonycreekgallery.com.au$ [NC]
RewriteRule ^red-pepper-gallery/(.*) /gallery/$1 [L]

如果这两个域是从完全独立的文档根中提供的,则您需要使用该[P]标志,但这仅在您加载了 mod_proxy 时才有效:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www.)?stonycreekgallery.com.au$ [NC]
RewriteRule ^red-pepper-gallery/(.*) http://redpeppergallery.com.au/$1 [P,L]
于 2012-08-08T03:23:38.947 回答