- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这个问题在这里已经有了答案:
Apache rewrite - get original URL in PHP
(3 个回答)
8年前关闭。
我试图更详细地了解以下 htaccess 规则:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/(favicon\.ico|apple-touch-icon.*\.png)$ [NC]
RewriteRule (.+) index.php?p=$1 [QSA,L]
</IfModule>
echo "<pre>";
print_r($_SERVER);
echo "</pre>";
die('fin');
RewriteRule (.+) index.php?p=%{REQUEST_FILENAME} [R=302,QSA,L]
最佳答案
来自 RewriteCond
REQUEST_FILENAME
The full local filesystem path to the file or script matching the request, if this has already been determined by the server at the time REQUEST_FILENAME is referenced. Otherwise, such as when used in virtual host context, the same value as REQUEST_URI. Depending on the value of AcceptPathInfo, the server may have only used some leading components of the REQUEST_URI to map the request to a file.
$_SERVER
'SCRIPT_FILENAME'
The absolute pathname of the currently executing script.
REQUEST_URI
实际上对应于现有文件。
REQUEST_FILENAME
将只是
REQUEST_URI
和
SCRIPT_FILENAME
将是执行的 PHP 脚本的名称。
$_SERVER['REQUEST_URI']
将是
REQUEST_FILENAME
(又名
REQUEST_URI
)。
SCRIPT_FILENAME
将永远是
/path/to/index.php
和
REQUEST_FILENAME
/
REQUEST_URI
可通过
$_SERVER['REQUEST_URI']
访问.
REQUEST_URI
永远不会是文件名,因为它缺少文档根前缀。当你使用
RewriteCond %{REQUEST_URI} !-f
RewriteRule
将始终执行,尽管它应该调用另一个 PHP 脚本或提供 HTML、CSS 或图像文件。
But why isn't this value available anywhere in PHP?
REQUEST_FILENAME
在 PHP 中不可用,因为它不在环境或请求的 header 中。
REQUEST_FILENAME
毕竟可能在文件系统中的任何地方。
RewriteRule (.+) index.php?p=$1 [QSA,L,E=REQUEST_FILENAME:%{REQUEST_FILENAME}]
$_SERVER['REDIRECT_REQUEST_FILENAME']
访问它.
关于php - 是否可以通过 PHP 访问 REQUEST_FILENAME?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15933225/
出于某种原因,这条规则 RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*
我遇到了 htaccess 的问题,我想编写一个条件来阻止提供指定文件。 如果请求的文件名存在,只需提供它,这样我就有了: RewriteCond %{REQUEST_FILENAME} -f Rew
我已经看到了其他几个与此相关的话题,但出于某种原因,在我的特定情况下,解决方案不起作用。 这是.htaccess DirectoryIndex index.php index.html index.h
这个问题在这里已经有了答案: Apache rewrite - get original URL in PHP (3 个回答) 8年前关闭。 我试图更详细地了解以下 htaccess 规则: R
我很确定问题是 %{REQUEST_FILENAME} 没有引用已更改的 URI,而是引用了已请求的 URI。 我有一些这样的代码: RewriteEngine On RewriteCond %{R
我想在子目录中安装 WordPress,并删除永久链接中的 index.php。服务器为IIS 6.0,支持rewrite。我的网络服务器有以下目录: webroot --wp [wordpress
如果 nginx 配置为反向代理,以下配置(违反直觉)是否会导致性能下降? if (!-f $request_filename) { proxy_pass http://app
%{REQUEST_FILENAME} 和 %{THE_REQUEST} 返回什么? 我只是在检查我们的 .htaccess 文件,我突然明白了,我对此知之甚少。下面的代码同时使用了两者。它有效,我只
我有一个 symfony 2 网站,它要求将所有 url 重新写入文档索引。 此外,还有一些完全独立的“微型站点”,它们只是在 web 目录中运行它们自己的子文件夹。我需要为指向微型站点子文件夹的任何
我有一个 symfony 2 网站,它要求将所有 url 重新写入文档索引。 此外,还有一些完全独立的“微型站点”,它们只是在 web 目录中运行它们自己的子文件夹。我需要为指向微型站点子文件夹的任何
SCRIPT_FILENAME 和有什么区别和 REQUEST_FILENAME在 mod_rewrite 中? RewriteCond %{SCRIPT_FILENAME} -f RewriteCo
我是一名优秀的程序员,十分优秀!