让 apache 只读取一个 php 文件
make apache to read just one php file
我的 Laravel 项目中有一个 server.php 文件。在我的电脑上,我可以命令 PHP -S localhost:8000 server.php 所以如果我向 localhost:8000 发出 HTTP 请求,它会读取 server.php 文件。或者如果我输入 URL: localhost:8000/anything/anything 它会读取 server.php 文件。但在我的 Linux 服务器中
如果我键入 domain/anything/anything,它会转到 var/www/anything/anything 并在那里读取 index.php。但我只想阅读 server.php 并将那些 anything/anything 传递给 server.php 文件并且不将它们算作 directory.what 是完成这项工作的 apache 配置吗?
您可以使用 htaccess 重写规则
RewriteRule ^anything/anything$ /server.php [L]
我想在你的情况下你不希望它匹配确切的字符串 (anything/anything) 所以这可能是你正在寻找的解决方案:
RewriteRule ^(.*)$ /server.php?path= [L]
所以上面的规则将检查 url 之后输入的所有内容,并将其作为 GET(路径变量)传递给 server.php
我的 Laravel 项目中有一个 server.php 文件。在我的电脑上,我可以命令 PHP -S localhost:8000 server.php 所以如果我向 localhost:8000 发出 HTTP 请求,它会读取 server.php 文件。或者如果我输入 URL: localhost:8000/anything/anything 它会读取 server.php 文件。但在我的 Linux 服务器中 如果我键入 domain/anything/anything,它会转到 var/www/anything/anything 并在那里读取 index.php。但我只想阅读 server.php 并将那些 anything/anything 传递给 server.php 文件并且不将它们算作 directory.what 是完成这项工作的 apache 配置吗?
您可以使用 htaccess 重写规则
RewriteRule ^anything/anything$ /server.php [L]
我想在你的情况下你不希望它匹配确切的字符串 (anything/anything) 所以这可能是你正在寻找的解决方案:
RewriteRule ^(.*)$ /server.php?path= [L]
所以上面的规则将检查 url 之后输入的所有内容,并将其作为 GET(路径变量)传递给 server.php