我正在构建我公司的项目目录,这些项目将在本地(暂时使用MAMP)和我们的临时服务器上同时生活。使用RewriteCond在.htaccess中进行条件重定向
我想要做的是有一个单一的.htaccess
将有条件地重定向取决于它被请求的地方。
我有第一部分工作正常 - 从临时服务器的根目录到我们的主页。
RewriteEngine On
RewriteCond %{HTTP_HOST} staging.com
RewriteRule (.*) http://www.homepage.com [R=301,L]
这是我无法理解的部分。如果在根目录中查看本地服务器(例如http://102.168.0.27:8888
),我想重定向到同一域中的文件夹(例如http://102.168.0.27:8888/directory
)。仅当没有指定文件夹时,查看任何文件夹(http://102.168.0.27:8888/*
)才应该重定向。
太复杂了,IP地址可能会改变,我不想更新它。我也不希望在该域上指定不应该重定向的文件夹;它应该是任何文件夹。
不同的重定向当地是很容易的,我只是不能让它满足文件夹我的要求:
RewriteCond %{HTTP_HOST} !staging.com
RewriteRule (.*) /directory [R=301,L]
总结:
- 在升级服务器的根目录,重定向到主页
- 本地,如果没有指定,则重定向到文件夹
- 本地,如果指定文件夹,则不重定向
- 不要指定地域/ IP
- 不要指定文件夹名称
所有本地envs使用8888端口?因为您可以将您的条件挂钩到 – yoavmatchulsky 2014-11-04 11:40:42
是的,总是那个端口。我会去的。 – 2014-11-04 11:43:16