我有一个WAMP web服务器与重写模块激活。
我有我所有的项目:
d:/prj/costumer1/www/ (alias: costumer1)
d:/prj/costumer2/www/ (alias: costumer2)
and so on...
对于costomer1,我有一个.htaccess文件,工作得很好。看起来像这样:
RewriteEngine on
RewriteBase /costumer1/
RewriteRule ^([^/.]+)/?$ index.php?a=$1 [QSA]
RewriteRule ^([^/.]+)/?/([[a-zA-Z0-9_-]+)$ index.php?a=$1&b=$2 [QSA]
RewriteRule ^([^/.]+)/?/([[a-zA-Z0-9_-]+)/?/([[a-zA-Z0-9_-]+)$ index.php?a=$1&b=$2&c=$3 [QSA]
现在当我创建一个src/href-link时,我现在必须使用:
/costumer1/search/book/novell (aka: costumer1/?a=search&b=book&c=novell)
不是/search/book/novell (aka: costumer1/?a=search&b=book&c=novell)
简而言之:
我不想在每个链接前都写"/costumer1": <a href="/costumer1/search/">search</a>
我在根目录.htaccess
中做了这样的操作
RewriteCond %{HTTP_HOST} ^customer1$ [NC]
RewriteCond %{REQUEST_URI} !^/customer1
RewriteRule ^(.*)$ customer1/$1 [L,NS]
但最终,我离开了处理这个与.htaccess
,因为它是不太可扩展的,并继续设置虚拟主机,像这样:
<VirtualHost *:80>
DocumentRoot "D:/htdocs/customer1"
ServerName customer1
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "D:/htdocs/customer2"
ServerName customer2
</VirtualHost>
要使其工作,当然要编辑您的hosts文件,使其具有如下行:
127.0.0.1 customer1
127.0.0.1 customer2