我有两个wordpress网站位于同一主机帐户,它们各自位于自己的子目录中,并拥有自己的数据库。
-root
- SITE1
- site2
网站1有3个域名 site1.dk site1.eu site1.org
网站2有1个域名 site2.com
我想将site1.dk,site1.eu,site1.org指向子文件夹site1。并且site2.com在子目录site2中。
另外,我想删除子文件夹名称site1 / 2
我在root
中使用以下htaccess解决了site1问题RewriteEngine On
RewriteCond %{HTTP_HOST} ^site1\.dk$ [NC]
RewriteRule ^site1/(.*)$ http://www.site1.dk/site1$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^www.site1 \.dk$ [NC]
RewriteRule ^site1/(.*)$ http://www.site1.dk/site1/$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^site1\.eu$ [NC]
RewriteRule ^site1/(.*)$ http://www.site1.dk/site1$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^www.site1\.eu$ [NC]
RewriteRule ^site1/(.*)$ http://www.site1.dk/site1/$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^site1\.org$ [NC]
RewriteRule ^site1/(.*)$ http://www.site1.dk/site1$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^www.site1\.org$ [NC]
RewriteRule ^site1/(.*)$ http://www.site1.dk/site1/$1 [L,R=301]
RewriteRule ^$ site1/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ site1/$1
以上所有网址都进入了site1子文件夹,网址看起来像这个site1.dk。做完了!
但是如果我将它添加到root htaccess
RewriteCond %{HTTP_HOST} ^site2\.org$ [NC]
RewriteRule ^site2/(.*)$ http://www.site2.dk/site1$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^www.site2\.org$ [NC]
RewriteRule ^site2/(.*)$ http://www.site2.dk/site2/$1 [L,R=301]
RewriteRule ^$ site2/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ site2/$1
一切都崩溃了。
我对htaccess和url重写并不熟悉,可以使用一些帮助。
提前致谢
/ / Kasper
答案 0 :(得分:0)
我认为您希望使用virtual host而不是.htaccess
执行此操作。根据服务器的设置方式,您可能需要直接编辑apache/conf/extra/httpd-vhosts.conf
或使用cPanel / Plesk / WHM中的抽象层或类似的东西。
在上面的示例中,您的根文件夹中不需要.htaccess
个文件。如果您的主机设置正确,则访问者无法访问该主机。