【发布时间】:2016-09-12 21:11:44
【问题描述】:
我希望所有传入流量都通过 PHP 脚本进行隧道传输,只需将脚本上传到服务器并在我的 .htaccess 中添加几行即可。是否 - 或类似的 - 可能?
例如:
- 我访问了一个页面。
- PHP 脚本获取整个 URL,并将重定向目标 URL 返回给 .htaccess。
- .htaccess 仅当 URL 已被 PHP 脚本修改时才会重定向。
【问题讨论】:
标签: php apache .htaccess redirect
我希望所有传入流量都通过 PHP 脚本进行隧道传输,只需将脚本上传到服务器并在我的 .htaccess 中添加几行即可。是否 - 或类似的 - 可能?
例如:
【问题讨论】:
标签: php apache .htaccess redirect
使用 Apache 的 mod_rewrite 更传统的规则可以完成非常相似的事情。或者正如您在对话中提到的@Zak 的回答,可能使用了内部重定向。
这是一个示例序列:
http://myhost.com/my_area/my_file.jpg).htaccess 配置为将/myarea(甚至/)的所有 请求传递给php 脚本。 (例如handle-url.php)(Example code)handle-url.php 中的逻辑现在可以执行以下任何操作:
header("Location: URL) 方法将用户重定向到任何网址(例如http://myhost.com/file_area/my_file.jpg)查看mod_rewrite 的高级示例页面。根据您具体需要做什么,可能还有其他选择。
例如,On-the-fly Content-Regeneration 可能会有所帮助。可能FallbackResource。
【讨论】:
.htaccess 在PHP 脚本之前被触发。将 .htaccess 视为 Web 服务器 (Apache) 设置的扩展。您将无法向.htaccess“发送”某些内容,因为它是服务器的配置文件,而不是引擎本身。反过来你可以使用PHP的原生header redirect
PHP
header('Location: http://www.example.com/');
【讨论】: