【问题标题】:nginx + php with drupal + codeigniter in separate foldersnginx + php 与 drupal + codeigniter 在单独的文件夹中
【发布时间】:2011-10-21 04:01:15
【问题描述】:

我有一个用于开发服务器的 Slicehost 切片,带有 nginx 和 PHP。

我正在尝试在 localhost/drupal 上运行 drupal,并在 localhost/codeigniter 上运行一个 codeigniter 应用程序。

我可以让一个或另一个工作,但不能同时工作——重写和 fastcgi 似乎相互干扰。

有谁知道如何让 /drupal 和 /codeigniter 都工作,并在我的 /var/www 的单独文件夹中使用重写规则(针对 SEF URL)?

干杯。

【问题讨论】:

标签: php drupal codeigniter nginx rewrite


【解决方案1】:

好的,你必须在 /etc/nginx/sites-available 中创建一个文件(不需要扩展名),它代表你的文件夹/域的名称(例如:drupal、yoursite.com)。

这是一个示例文件:

server {
 server_name yourdomain.com;
 root /var/www/yourdomain;

 index index.php;

   location / {
     autoindex on;
     try_files $uri $uri/ /index.php;
   }
   location ~ \.php$ {
     fastcgi_pass 127.0.0.1:9000;
     fastcgi_index index.php;
     include fastcgi_params;
   }
}

在上面的示例中,它实际上会将 url 重写发送到 $_SERVER['REQUEST_URI']。更多 nginx 重写,您可以查看http://wiki.nginx.org/HttpRewriteModule 以获取更多参考。

然后你想通过在 /etc/nginx/sites-enabled 文件夹中创建此文件的符号链接来启用它

Example: # ln -s /etc/nginx/sites-available/yoursite /etc/nginx/sites-enabled/yoursite

然后重启/重新加载nginx

 # services nginx reload

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-25
    • 1970-01-01
    • 2017-10-28
    • 2019-12-30
    • 2017-07-11
    • 1970-01-01
    • 2011-06-30
    • 2015-09-26
    相关资源
    最近更新 更多