【问题标题】:Can PHP access the .htaccess rewrite name of a filePHP可以访问文件的.htaccess重写名称吗
【发布时间】:2013-09-13 08:56:16
【问题描述】:

我的 .htaccess 有效(不是专家,但做了很多复制和粘贴)。

我的一个页面的典型重写如下所示:

RewriteRule ^my-grills-parts-and-service/?$ parts-service.php [NC,L]

...url“http://www.mydomain.com/my-grills-parts-and-service/”将调用parts-service.php文件。

但是,我正在使用 php 从地址栏中的内容构建一个完全限定的 URL。问题是,服务器变量 $_SERVER['SCRIPT_NAME'] 将返回“parts-service.php”,而不是地址栏中的实际内容“my-grills-parts-and-service/”。

我希望 php 以某种方式读取文字重写字符串,而不是实际的文件名。

所以,我希望 php 构造一个这样的字符串:

$url = "http://www.mydomain.com/my-grills-parts-and-service/";

我希望我不必编写数据表或 switchif 块,因为那样会做两次(一次在 .htaccess 中,然后在 php 文件中)。

【问题讨论】:

    标签: php apache .htaccess url-rewriting rewrite


    【解决方案1】:

    您可以使用$_SERVER['REQUEST_URI']获取真实的url地址。

    在使用此方法之前,请检查@regilero 评论。

    【讨论】:

    • 是的。我想这就是答案。我会在选择最佳答案前 24 小时给出。非常适合我正在做的事情。 - G.
    • @Gregory Lewis :请注意,您应该在使用构建 HTML 内容之前转义 $_SERVER['REQUEST_URI'],避免用户在 url 中注入 HTML/js。查看stackoverflow.com/a/326331/550618 以了解有关 SCRIPT_NAME 与 REQUEST_URI 的详细信息
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-05
    • 2016-02-28
    相关资源
    最近更新 更多