【问题标题】:htaccess mod_rewrite referencing to full path directorieshtaccess mod_rewrite 引用完整路径目录
【发布时间】:2011-03-20 12:04:43
【问题描述】:

是否可以引用完整/绝对路径目录,例如.htaccess mod_rewrite 中的/usr/home/public_html/x

我已经尝试过将以下内容放在子域的 .htaccess 中(存储在 public_html 的文件夹中)的最明显情况,希望它会映射(而不是重定向!)到绝对目录所指向的文件上:

RewriteEngine on
RewriteRule /xochotl /usr/home/public_html/x.php

这不起作用...我收到 500 内部服务器错误

public_html 主目录中的 .htaccess 仅包含以下内容,并且它适用于相关目录...

RewritEngine on
RewriteRule /xochotl x.php

【问题讨论】:

    标签: file .htaccess mod-rewrite directory absolute-path


    【解决方案1】:

    在每个目录上下文中使用mod_rewrite 时(即使用.htaccess),您无法映射到文件路径。但是,当您将规则放在每个服务器上下文中时(httpd.conf,在主服务器或虚拟服务器配置中),您应该能够映射到绝对路径。

    这是因为mod_rewrite 在每个目录上下文中的工作方式。 mod_rewrite 转换 URL,然后将自己指定为请求的处理程序。这允许它通过 Apache 发送内部重定向,否则在处理的后期是不可能的。

    内部重定向是通过调用 Apache API 函数 ap_internal_redirect 完成的,该函数需要一个 URI,然后重新映射到文件系统。附带说明一下,这也是为什么%{REQUEST_URI}%{REQUEST_FILENAME} 在您执行涉及为后续请求读取相同.htaccess 文件的重定向时发生变化的原因(例如,任何时候.htaccess 在站点根目录中) )。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-14
      • 2019-02-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多