我想知道如何在/greetings.php
目录中的任何页面上运行脚本/a
,即使该文件不存在。
当前在我的/a
目录中没有文件。但是,如果有人像www.example.com/a/john
一样访问了我的网站,则会打印hello
,因为它将运行greetings.php
脚本(即使/a
目录中没有文件)称为john
)。我假设.htaccess
可能需要做一些事情,但我不确定。
greetings.php
<?php
echo "hello";
答案 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不匹配时才匹配,最终避免了无限循环。