我在同一个地方托管了两个网站:domain1.com和domain2.com
起始位置是它们都指向根目录。
/ root / subdirectory1 /包含domain1.com的文件 / root / subdirectory2 /是我的其他网站的目录。
domain1.com应该选择/ subdirectory1 /文件夹中的文件。 domain2.com应该选择/ subdirectory2 /文件夹中的文件。 我也不希望能够访问domain1.com/subdirectory2/,因为它们是独立的网站。 此外,任何非www网址都应转发到www。版本
我不要求太多?我在网上看到的大部分内容都有助于解决这个问题,但不是全部。最好不要粘贴我的捣碎尝试,而是要求一个干净的石板帮助。
我在root .htaccess文件中尝试了以下内容...
RewriteEngine on
Options +FollowSymLinks
RewriteBase /
# Site 1
RewriteCond %{HTTP_HOST} ^domain1.com$ [NC]
RewriteCond %{REQUEST_URI} !^/subdirectory1/.*$
RewriteRule ^(.*)$ /subdirectory1/$1 [L]
# Site 2
RewriteCond %{HTTP_HOST} ^domain2.com$ [NC]
RewriteCond %{REQUEST_URI} !^/subdirectory2/.*$
RewriteRule ^(.*)$ /subdirectory2/$1 [L]
然后在子目录1 .htaccess文件中......
RewriteEngine On
RewriteRule ^subdomain2/(.*)$ http://www.domain1.com/$1 [R=301,L]
但我仍然无法让它按预期工作。请帮忙 (并且我无权使用此网站空间制作虚拟主机。)
答案 0 :(得分:0)
如果可能,请将domain2文件夹移到domain1文件夹之外。你会很高兴的。
将它放在domain1文件夹中的.htaccess文件中:
RewriteEngine On
RewriteRule ^domain2/(.*)$ http://www.domain2.com/$1 [R=301,L]
如果domain2文件夹中有.htaccess文件,请添加:
RewriteEngine On
RewriteOptions Inherit
根据您对site1的其他规则,您可能不希望继承它们。在这种情况下,只需将第一个RewriteRule放在.htaccess文件中。
现在......所有这些假设您的网站已经在domain1.com和domain2.com上呈现。如果你想让它们渲染,那么这一切都无济于事。您需要首先正确渲染域,这将需要@ N1xx1和@David所述的vhost设置。这需要通过您的控制面板软件或与主持人的支持人员一起完成。