我们有3个客户的在线服务:汽车配件,CarExamples和Cars&More。这是网址结构:
其中一位客户(CarExamples)想要使用他们自己的域(carexamples.com),但它必须加载example.com/carexamples的内容,当然总是使用原始域。
这意味着:
我们正在使用LAMP环境(PHP v5.6)。域example.com位于我们服务器的/www/example/html
中。
此问题的当前状态为:
在域的DNS管理器控制台中创建一个A记录,该记录指向托管example.com所在的同一服务器。
为自定义域添加虚拟主机
<VirtualHost servername:80>
ServerName carexamples.com
ServerAlias www.carexamples.com
DocumentRoot /www/example/html
</VirtualHost>
但这会在打开carexamples.com时加载example.com的相同内容
值得注意的是,/www/example/html/carexamples
不是目录,它是对/www/example/html/store.php?store=carexamples
的重写
Shopify可以执行类似的操作:https://help.shopify.com/en/manual/domains/add-a-domain/using-existing-domains/connecting-domains#set-up-your-existing-domain-to-connect-to-shopify可能可以作为对此问题的参考。
这些是.htaccess文件中现有的重写规则:
# stores
RewriteRule ^([0-9a-zA-Z-]{2,50})$ /store.php?store=$1 [QSA,L]
# stores > categories
RewriteRule ^([0-9a-zA-Z-]{2,50})/([0-9a-zA-Z-]{1,50})$ /store.cat.php?store=$1&cat=$2 [QSA,L]
# stores > categories > items
RewriteRule ^([0-9a-zA-Z-]{2,50})/([0-9a-zA-Z-]{1,50})/([0-9]+)/([0-9a-zA-Z-]{1,100})$ /store.cat.php?store=$1&cat=$2&id_item=$3&item=$4 [QSA,L]
答案 0 :(得分:1)
在网站根目录.htaccess中拥有类似的规则:
RewriteEngine On
# per domain rewrite
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{HTTP_HOST} !^(?:www\.)?example\. [NC]
RewriteCond %{HTTP_HOST}:%{REQUEST_URI} ^(?:www\.)?([^.]+)[^:]*:(?!/\1/) [NC]
RewriteRule ^ %1%{REQUEST_URI} [L]
# stores
RewriteRule ^([\w-]{2,50})/?$ store.php?store=$1 [QSA,L]
# stores > categories
RewriteRule ^([\w-]{2,50})/([\w-]{1,50})/?$ store.cat.php?store=$1&cat=$2 [QSA,L]
# stores > categories > items
RewriteRule ^([\w-]{2,50})/([\w-]{1,50})/(\d+)/([\w-]{1,100})/?$ store.cat.php?store=$1&cat=$2&id_item=$3&item=$4 [QSA,L]
答案 1 :(得分:0)
如果我正确理解了您的信息(纠正我或澄清这是否不是您想要的内容)
每个条目都需要一个单独的vHost ..您正在查看错误的目录-这是一个示例-尽管它应该是不言自明的..只需将/carexamples
添加到{{1} }
DocumentRoot