无论URL如何如何运行相同的PHP脚本

时间:2019-04-07 14:09:44

标签: php .htaccess http

我想知道如何在/greetings.php目录中的任何页面上运行脚本/a,即使该文件不存在。

当前在我的/a目录中没有文件。但是,如果有人像www.example.com/a/john一样访问了我的网站,则会打印hello,因为它将运行greetings.php脚本(即使/a目录中没有文件)称为john)。我假设.htaccess可能需要做一些事情,但我不确定。

greetings.php

<?php
echo "hello";

1 个答案:

答案 0 :(得分:1)

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/?a/greetings.php  [NC]
RewriteRule ^/?a/(.*)$ a/greetings.php [L,NC]
  • 我们将所有请求的重写条件匹配为^/?a/(.*)$。这与具有/a目录的所有请求都可以在您的网站上进行访问。

  • 然后我们将其重定向到您的greetings.php。请注意,我们添加了一个额外的重写条件!^/?a/greetings.php,以防止无限内部重定向到与Apache相同的脚本。正则表达式中的!表示取反,表示仅当正则表达式请求URI不匹配时才匹配,最终避免了无限循环。