首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >.htaccess中使用RewriteCond的条件重定向

.htaccess中使用RewriteCond的条件重定向
EN

Stack Overflow用户
提问于 2014-11-04 11:36:59
回答 1查看 537关注 0票数 0

我正在构建公司项目的目录,该目录将在本地(暂时使用MAMP )和我们的暂存服务器上运行。

我要做的是拥有一个.htaccess,它将根据请求的位置有条件地重定向。

我的第一部分运行良好--从暂存服务器的根到我们的主页。

代码语言:javascript
运行
复制
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地址可能会改变,我不想更新它。我也不想指定不应该重定向的域上的文件夹;它应该是任何文件夹。

在本地进行不同的重定向是非常容易的,我只是无法使它满足我对文件夹的要求:

代码语言:javascript
运行
复制
RewriteCond %{HTTP_HOST} !staging.com
RewriteRule (.*) /directory [R=301,L]

概括如下:

  • 在暂存服务器根目录上,重定向到主页。
  • 在本地,如果未指定任何文件夹,则重定向到文件夹。
  • 在本地,如果指定了文件夹,则不要重定向。
  • 不要指定本地域/IP
  • 不要指定文件夹名
EN

Stack Overflow用户

回答已采纳

发布于 2014-11-04 11:48:03

对于本地环境使用8888端口条件,请尝试如下:

RewriteCond %{SERVER_PORT} 8888 RewriteCond %{REQUEST_URI} ^/$ RewriteRule .* /directory [R=301,L]

本地服务器上的其他文件/目录不应受到此规则的影响。

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26734186

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档