【发布时间】:2021-06-24 00:46:14
【问题描述】:
我对 nginx 还是很陌生。
我有两种类型的代码,一种是简单的 php 运行,index2.php,我有一个名为 wordpress 的目录,里面有一个完整的 wordpress 网站。
我想要实现的是让它们都在主域上运行,而没有带有子目录名称的斜线。
location ~ (/lottery-results|patternTwo) {
try_files $uri /index2.php$is_args$args;
}
location / {
try_files $uri /wordpress/index.php?$args;
}
这是我目前使用的配置,它可以很好地满足我的目的。
第一个指令通过index2.php 中的简单php 加载一些url。
第二个指令加载 wordpress,但是当我打开这个 url 时:
http://domain.test/
它把我送到:
http://domain.test/wordpress/wp-admin/setup-config.php
我的问题是 /wordpress 部分我希望 url 是:
http://domain.test/wp-admin/setup-config.php
改为。
我尝试使用 alias 和 root,但它没有改变任何东西,(老实说,我什至不明白 alias 和 root 的作用!)
编辑:PHP-FPM 处理程序:
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/Applications/MAMP/Library/logs/fastcgi/nginxFastCGI_phpMAMP_PhpLocalhost_MAMP.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /Applications/MAMP/conf/nginx/fastcgi_params;
}
【问题讨论】:
-
你正在尝试做一些非常奇怪的事情。为什么不能将
index2.php和 WordPress 文件放在同一个目录中?那些lottery-results|patternTwo字符串是什么?为什么您不能在某些 URI 前缀下使用您的第一个站点,例如lottery-results?好吧,我认为有办法让它工作,你需要改变REQUEST_URIPHP-FPM 参数。您可以将您的 nginx PHP-FPM 处理程序(location块)添加到您的问题中吗? -
您好,感谢您的评论,不仅仅是 index2.php,index2.php 在其中运行了许多其他 php 文件,就像 WordPress 通过 index.php 一样,这些字符串是 index2 的其他路径.php 支持,我不能将我的第一个网站放在 uri 前缀下,因为它有一个 api,并且使用该 api 运行的应用程序都会失败。我不知道你所说的 php-fpm 处理程序位置块是什么意思。
-
通常 PHP-FPM 处理程序块看起来像
location ~ \.php$ { ... fastcgi_pass <socket>; ... }或类似的东西。 -
@IvanShatsky 我想我找到了我不确定虽然我使用的是 mamp pro,但我在主 nginx.conf 中找到了这个,因为各个网站不会在你的 mamp 中创建不同的 conf可以只使用 ui 编辑器。
标签: nginx config nginx-config