Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在不考虑URL的情况下运行相同的php脚本_Php_.htaccess_Http - Fatal编程技术网

如何在不考虑URL的情况下运行相同的php脚本

如何在不考虑URL的情况下运行相同的php脚本,php,.htaccess,http,Php,.htaccess,Http,我想知道如何在/a目录中的任何页面上运行脚本/hellives.php,即使该文件不存在 当前在my/a目录中,我没有任何文件。但是,如果有人访问了我的网站,比如www.example.com/a/john,它会打印hello,因为它会在上面运行hellies.php脚本,即使/a目录中没有名为john的文件。我想可能吧。htaccess和它有关系,但我不是很确定 问候语.php <?php echo "hello"; 我们使用重写条件^/?a/*$匹配所有请求。这将匹配在您的网站上有/

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

当前在my/a目录中,我没有任何文件。但是,如果有人访问了我的网站,比如www.example.com/a/john,它会打印hello,因为它会在上面运行hellies.php脚本,即使/a目录中没有名为john的文件。我想可能吧。htaccess和它有关系,但我不是很确定

问候语.php

<?php
echo "hello";
我们使用重写条件^/?a/*$匹配所有请求。这将匹配在您的网站上有/a目录可访问的所有请求

然后我们将其重定向到your greetings.php。注意,我们添加了一个额外的重写条件!^/?a/hellives.php以防止无限的内部重定向到Apache所做的相同脚本。这个在这个例子中,regex表示否定,意思是当且仅当regex请求URI不匹配时才匹配,最终避免了无限循环


一个建议。设置一个404页面,让它说出你想要的任何内容,或者简单地实现一个指向该脚本的重定向规则。你会在这里找到无数这样的例子。@riggsfully如果设置404错误页,这意味着/b、或/c或/directory中的文件也会受到404页规则的影响?即使我不希望他们这样。我希望他们体验正常的404页面错误,而不是问候语。php脚本听起来很像-几天前我给出了一个稍微不同的答案…@CFPSupport答案根本不能回答我的问题。这是因为必须存在second-wiki.php文件才能重定向到wiki.php。在我的问题中,没有名为second-wiki.php的文件。完全不同的问题。这会改变URL吗?例如,如果用户转到www.example.com/a/john,URL是否会更改为www.example.com/greetings.php,或者URL仍然是www.example.com/a/john?我试图保持URL仍然是www.example.com/a/john,而不是www.example.com/hellives.php。这样,用户永远不会知道正在运行greetings.php脚本。@因为没有R标志,所以URL不会更改。您可以在服务器上尝试此代码,然后告诉我。
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/?a/greetings.php  [NC]
RewriteRule ^/?a/(.*)$ a/greetings.php [L,NC]