问题标签 [mod-rewrite]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
15943 浏览

apache - .htaccess 子域的重写规则

我使用 codeigniter 作为我在主域上的主要安装。我创建了一个子域和一个名为 live 的文件夹,例如 live.domain.com 映射到 public/live 。但是在公共场合我使用codeigniter。

我现在有动态 codeigniter url:

我想映射到我的子域:

所以要去:

将使用脚本:

并且可能:

一切都在同一台服务器上,因此不需要重定向。

有人对使用哪些重写规则有任何想法吗?

以上作为重写非常有效,但重定向到http://domain.com/api/functionname而不是我希望它路由;这样当去:

它停留在该网址,但使用的脚本

非常感谢,

0 投票
2 回答
2370 浏览

eclipse - .htaccess 用于 Zend 调试器、Eclipse 和 Zend 框架

我想在 Eclipse 的 Zend Framework 中调试我的项目。Zend Debugger 已经开始运行了,现在我在 Eclipse 中的调试工具有问题。它提供了一个额外的 GET 参数,而 Zend 中的项目不喜欢它。

我试图用谷歌搜索它并找到了这个

我修改了.htaccess文件,但没有让它工作。

不知道它是否完全正确,因为页面上的重写规则有一些我的 Apache 无法使用的未知标志。

Eclipse制作的链接是

http://localhost/?debug_start_url=http://localhost/&debug_session_id=1007&start_debug=1&debug_host=127.0.0.1&debug_no_cache=1229359621130&debug_port=10000&send_sess_end=1&original_url=http://localhost/&debug_stop=1

0 投票
4 回答
5385 浏览

apache - Apache Web 服务器重定向发布请求

我在 4 个端口上配置了 apache(使用虚拟主机作为一些使用 HTTPS 的端口),目的是将发布请求重定向到在其他机器上的 TOMCAT 实例中运行的不同 servlet。调用是从httpclient(java client) 进行的。当我运行客户端时,它会抛出错误 301 错误:永久移动。需要有关如何解决此问题的提示/提示/帮助。

如果有人能给我一个例子,那就太好了。我的虚拟主机(带有重定向)看起来像这样


我现在可以让 mod 代理与 mod rewrite 一起工作,现在我没有收到 302 错误,但由于它总是发生在新手身上,这是另一个问题。

HTTP POST 请求不起作用。当我发出 post 请求时,代理在继续查找 index.htm 时失败。

我的 httpd.conf 片段

0 投票
8 回答
34853 浏览

php - nginx 上的 Zend 框架

我一直在开发的基于 Zend 框架的站点现在正在迁移到其生产服务器。这个服务器原来是 nginx(惊喜!)。由于它是在 Apache 上开发的并且依赖于 htaccess 文件,因此该站点自然无法正常工作。

我的问题是……有人有这方面的经验吗?关于如何将 htaccess 文件的功能转换为 nginx.conf 文件的任何想法?我正在研究这个,但希望有人已经有这方面的经验。谢谢!

编辑:这是当前的 htaccess:

0 投票
2 回答
641 浏览

apache - 为什么 Apache mod_rewrite 没有按预期运行

我想将使用原始 URL 请求的旧站点的 URL 重定向到我在 CodeIgniter 中实现的新站点。我只是想将它们重定向到我的索引页面。我还想在我的 URL 中去掉“index.php”,这样我的 URL 就可以像 example.com/this/that 一样简单。所以,这是.htaccess我创建的文件:

还应该注意的是,我的 index.php 实际上是指向example/production/index.php.

现在,第一个规则按预期工作 - 我所有的样式和图像都显示得很好,这是我遇到问题的后两个规则。第二条规则基本上是销毁查询字符串并重定向到我的索引页面(外部)。所以,我在 Apache 手册中找到了这个:

注意:查询字符串

模式不会与查询字符串匹配。相反,您必须使用带有 %{QUERY_STRING} 变量的 RewriteCond。但是,您可以在包含查询字符串部分的替换字符串中创建 URL。只需在替换字符串中使用问号,即可指示应将以下文本重新注入到查询字符串中。当您想删除现有的查询字符串时,只用问号结束替换字符串。要将新查询字符串与旧查询字符串组合,请使用 [QSA] 标志。

但是,当我尝试访问其中一个旧页面时,我没有重定向到我的索引页面,而是收到 404 page not found 错误。我已经通过将其设置为内部重定向找到了一种解决方法,但我真的希望它是外部的。

下一个问题,也是最让我困惑的一个问题是第三条规则。我希望这会做类似以下的事情。如果我输入:

我希望它重新路由到

不幸的是,这不起作用。相反,无论我输入什么,它总是路由到我的索引页面,就好像 URL 中没有其他内容一样(它只是转到http://example.com/)。

此外,如果我用以下内容替换该规则,我会更加困惑:

如果我输入一个 URL,例如http://example.com/other/thing,那么它会http://example.com/index.php/this/thing按预期转到,但是如果我输入http://example.com/this/thing它会转到http://example.com/(我的索引页)。我无法从中做出正面或反面。任何帮助将不胜感激。

0 投票
2 回答
3490 浏览

php - 如何让 SSL+mod_rewrite+Zend Framework MVC 一起工作?

因此,我获得了 ZF MVC 站点,并希望在 /checkout/ 下的所有内容上强制 SSL 连接,我尝试为此使用 mod_rewrite,所以我的 .htaccess 看起来像这样:

果然,它确实启动了 SSL,但第二条规则是 ZF 特定的,并将所有内容重定向到 index.php 排序擦除协议规范。

不幸的是,我对 mod_rewrite 的熟练程度非常糟糕。也许有人可以帮我解决这个问题?

0 投票
2 回答
5551 浏览

apache - 你能写一个301重定向到一个锚点吗?

这是有效和正确的吗?

我对这#info部分特别感兴趣。

0 投票
1 回答
1007 浏览

apache - 帮助 mod_rewrite 和 Joomla

在我的 Joomla 网站上,我已将一些相当直接的 RewriteRules 添加到我的 .htaccess 文件中。它们都是这样的一对一规则,因为我正在更改站点的文件结构并且不想破坏我的旧链接。

这些是 Joomla 附带的现有规则的补充:

如果我注释掉现有的 Joomla 规则,那么我可以看到我的规则正常工作,并且当我在http://example.com/content/view/54/48/浏览器地址栏中键入时更改为http://example.com/courses,但是如果我离开这些其他规则,那么 Joomla 不知道如何处理它(它给出“未知组件错误”)。如果我http://example.com/courses直接输入,那么它会按预期工作,所以我觉得这是我重写的问题,而不是 Joomla。

我认为 RewriteRules 是按顺序相互作用的。例如:

我在共享主机上,所以很遗憾我无法打开登录。有人对我有什么建议吗?

0 投票
1 回答
2335 浏览

apache - 使用 mod_rewrite 进行相对路径重定向

可能重复:
Mod_Rewrite 与相对路径重定向

我的网站在 .htaccess 中有一系列 RewriteRules,我正在重组。

这工作正常,除了现在我有一个新的和未发布的站点位于一个/new/子目录中,所以在测试时,我需要重定向到的规则/new/courses而不是/courses......基本上我只是希望它重定向到一个 URL相对于 .htaccess 文件的位置。

当我将 /new/.htaccess 文件移动到根目录时,我必须更改它的每一行,这似乎是不对的。有什么我想念的吗?

0 投票
2 回答
2002 浏览

apache - 有条件的 .htaccess RewriteRule 参数

我的 .htaccess 中有很多 RewriteRules,看起来像这样

这两者之间的唯一区别是领先的“嵌入/”,所以我认为将它们组合成一个 RewriteRule 是有益的。我的尝试停留在

其中设置了“&fEmbed=embed/”,这真的不是我想要的。我想评估 $1 的内容,并输出不同的东西(即“1”)。

在将前两个 RewriteRule 组合成一个 RewriteRule 时如何解决这个问题的任何想法?