在不同的环境

问题描述:

从开发到测试到生产我们的网站驻留在三个不同的环境下使用在不同的环境

相同的.htaccess
  • 的http://本地主机/版本/
  • HTTP://www.production.com/测试/
  • HTTP://www.production.com/

(参见下面的.htaccess片断网址的示例)

Options +FollowSymlinks 
RewriteEngine on 
RewriteRule ^brand/(.+) /products.php?brand=$1 [R,NC] 
RewriteRule ^product/(.+) /products.php?model=$1 [R,NC] 

如何捕捉URL的是第一部分,并在前面加上它在.htaccess文件,因此,以下网址的行为都一样:

  • 的http://本地主机/版本/产品/ C20
  • HTTP://www.production.com/test/product/c20
  • HTTP://www.production.com/product/c20

我看过的RewriteCond,但避风港”我发现在这种情况下我可以如何使用它。请赐教。

编辑:这似乎工作:

Options +FollowSymlinks 
RewriteEngine on 
RewriteCond %{REQUEST_URI} ^(.+)/(brand|product)/ 
RewriteRule ^brand/(.+) %1/x.php?brand=$1 [NC] 
RewriteCond %{REQUEST_URI} ^(.+)/(brand|product)/ 
RewriteRule ^product/(.+) %1/x.php?model=$1 [NC] 
+0

这预先考虑的物理路径。像这样的东西 http://localhost/C:/wamp/www/version/product.php?model=c20 – Michael 2010-01-25 06:58:41

+0

使用经过测试的解决方案进行编辑。 – 2010-01-25 07:12:53

你可以设置部分可选:

RewriteRule ^(version/|test/)?brand/(.+) /$1products.php?brand=$2 [R,NC] 
RewriteRule ^(version/|test/)?product/(.+) /$1products.php?model=$2 [R,NC]