Jadual Kandungan
问题描述
1. 最近在做自己的小博客,本地用的wamp集成环境,线上是lnmp。web框架使用的是thinkphp5.0.1,项目中有一个模块是front,控制器Article,分别有indexlistsshow方法。
2. tp框架中设置路由,如下所示
3. 并且设置了index方法重定向至lists方法
5. 问题说明有些乱,朋友们可以解答我的遗憾吗?
nginx配置文件
回复内容:
Rumah pembangunan bahagian belakang tutorial php nginx与apache服务url问题

nginx与apache服务url问题

Oct 17, 2016 am 09:30 AM
apache nginx php

问题描述

1. 最近在做自己的小博客,本地用的wamp集成环境,线上是lnmp。web框架使用的是thinkphp5.0.1,项目中有一个模块是front,控制器Article,分别有indexlistsshow方法。

2. tp框架中设置路由,如下所示

    #front文章
    'blog' => ['front/Article/index', [], []],
    'a/:id' => ['front/Article/show', [], []],
    'blogs' => ['front/Article/lists', [], []],
    'blog/add' => ['front/Article/add', [], []],
    'blog/edit/:id' => ['front/Article/edit', [], []],
Salin selepas log masuk
Salin selepas log masuk

3. 并且设置了index方法重定向至lists方法

    public function index()
    {
        $this->redirect(Url::build('front/Article/lists', '', false));
    }
Salin selepas log masuk
Salin selepas log masuk

4. 具体错误:在本地访问链接 1 http://www.ibala.top/blog链接 2 http://www.ibala.top/blog/ 效果是一样的,均是跳转至链接 3 http://www.ibala.top/blogs ;当将项目迁移至线上时,就发现问题了,访问链接 2时,却会跳转到 链接 4 http://www.ibala.top/index.php/blogs

5. 问题说明有些乱,朋友们可以解答我的遗憾吗?

nginx配置文件

<code>server
{
    listen 80;
    #listen [::]:80;
    server_name ibala.top www.ibala.top;
    index index.html index.htm index.php;
    root  /home/wwwroot/ibala.top/public;
    location / {
    if (!-e $request_filename) {
        rewrite  ^/(.*)$  /index.php/$1  last;
            break;
        }
    }

    ## php配置,兼容thinkphp框架
    location ~ .php {
        set $path_info "";
        set $real_script_name $fastcgi_script_name;

        if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
            set $real_script_name $1;
            set $path_info $2;
        }

        fastcgi_pass  unix:/tmp/php-cgi.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
        fastcgi_param SCRIPT_NAME $real_script_name;
        fastcgi_param PATH_INFO $path_info;
        fastcgi_param SERVER_PORT 80;
        include fastcgi_params;
    }
    
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
    {
        expires      30d;
    }

    location ~ .*\.(js|css)?$
    {
        expires      12h;
    }

    location ~ /\.ht
    {
        deny all;
    }
    
    ## 禁止敏感文件的直接访问
    location ~* \.(inc|bak|sql|lua|so|ini|conf)$ {
        deny all;
    }
    
    access_log  /home/wwwlogs/ibala.top.log;
}</code>
Salin selepas log masuk
Salin selepas log masuk

回复内容:

问题描述

1. 最近在做自己的小博客,本地用的wamp集成环境,线上是lnmp。web框架使用的是thinkphp5.0.1,项目中有一个模块是front,控制器Article,分别有indexlistsshow方法。

2. tp框架中设置路由,如下所示

    #front文章
    'blog' => ['front/Article/index', [], []],
    'a/:id' => ['front/Article/show', [], []],
    'blogs' => ['front/Article/lists', [], []],
    'blog/add' => ['front/Article/add', [], []],
    'blog/edit/:id' => ['front/Article/edit', [], []],
Salin selepas log masuk
Salin selepas log masuk

3. 并且设置了index方法重定向至lists方法

    public function index()
    {
        $this->redirect(Url::build('front/Article/lists', '', false));
    }
Salin selepas log masuk
Salin selepas log masuk

4. 具体错误:在本地访问链接 1 http://www.ibala.top/blog链接 2 http://www.ibala.top/blog/ 效果是一样的,均是跳转至链接 3 http://www.ibala.top/blogs ;当将项目迁移至线上时,就发现问题了,访问链接 2时,却会跳转到 链接 4 http://www.ibala.top/index.php/blogs

5. 问题说明有些乱,朋友们可以解答我的遗憾吗?

nginx配置文件

<code>server
{
    listen 80;
    #listen [::]:80;
    server_name ibala.top www.ibala.top;
    index index.html index.htm index.php;
    root  /home/wwwroot/ibala.top/public;
    location / {
    if (!-e $request_filename) {
        rewrite  ^/(.*)$  /index.php/$1  last;
            break;
        }
    }

    ## php配置,兼容thinkphp框架
    location ~ .php {
        set $path_info "";
        set $real_script_name $fastcgi_script_name;

        if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
            set $real_script_name $1;
            set $path_info $2;
        }

        fastcgi_pass  unix:/tmp/php-cgi.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
        fastcgi_param SCRIPT_NAME $real_script_name;
        fastcgi_param PATH_INFO $path_info;
        fastcgi_param SERVER_PORT 80;
        include fastcgi_params;
    }
    
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
    {
        expires      30d;
    }

    location ~ .*\.(js|css)?$
    {
        expires      12h;
    }

    location ~ /\.ht
    {
        deny all;
    }
    
    ## 禁止敏感文件的直接访问
    location ~* \.(inc|bak|sql|lua|so|ini|conf)$ {
        deny all;
    }
    
    access_log  /home/wwwlogs/ibala.top.log;
}</code>
Salin selepas log masuk
Salin selepas log masuk

可以参考这个:http://www.jb51.net/article/8...
不确定能用

估计是nginx配置的问题,给你个配置:
location / {
if (!-e $request_filename){
rewrite ^(.*)$ /index.php?s=$1 last;
}
}

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial Java
1656
14
Tutorial PHP
1257
29
Tutorial C#
1229
24
PHP dan Python: Paradigma yang berbeza dijelaskan PHP dan Python: Paradigma yang berbeza dijelaskan Apr 18, 2025 am 12:26 AM

PHP terutamanya pengaturcaraan prosedur, tetapi juga menyokong pengaturcaraan berorientasikan objek (OOP); Python menyokong pelbagai paradigma, termasuk pengaturcaraan OOP, fungsional dan prosedur. PHP sesuai untuk pembangunan web, dan Python sesuai untuk pelbagai aplikasi seperti analisis data dan pembelajaran mesin.

Memilih antara php dan python: panduan Memilih antara php dan python: panduan Apr 18, 2025 am 12:24 AM

PHP sesuai untuk pembangunan web dan prototaip pesat, dan Python sesuai untuk sains data dan pembelajaran mesin. 1.Php digunakan untuk pembangunan web dinamik, dengan sintaks mudah dan sesuai untuk pembangunan pesat. 2. Python mempunyai sintaks ringkas, sesuai untuk pelbagai bidang, dan mempunyai ekosistem perpustakaan yang kuat.

Mengapa menggunakan PHP? Kelebihan dan faedah dijelaskan Mengapa menggunakan PHP? Kelebihan dan faedah dijelaskan Apr 16, 2025 am 12:16 AM

Manfaat utama PHP termasuk kemudahan pembelajaran, sokongan pembangunan web yang kukuh, perpustakaan dan kerangka yang kaya, prestasi tinggi dan skalabilitas, keserasian silang platform, dan keberkesanan kos. 1) mudah dipelajari dan digunakan, sesuai untuk pemula; 2) integrasi yang baik dengan pelayan web dan menyokong pelbagai pangkalan data; 3) mempunyai rangka kerja yang kuat seperti Laravel; 4) Prestasi tinggi dapat dicapai melalui pengoptimuman; 5) menyokong pelbagai sistem operasi; 6) Sumber terbuka untuk mengurangkan kos pembangunan.

PHP dan Python: menyelam mendalam ke dalam sejarah mereka PHP dan Python: menyelam mendalam ke dalam sejarah mereka Apr 18, 2025 am 12:25 AM

PHP berasal pada tahun 1994 dan dibangunkan oleh Rasmuslerdorf. Ia pada asalnya digunakan untuk mengesan pelawat laman web dan secara beransur-ansur berkembang menjadi bahasa skrip sisi pelayan dan digunakan secara meluas dalam pembangunan web. Python telah dibangunkan oleh Guidovan Rossum pada akhir 1980 -an dan pertama kali dikeluarkan pada tahun 1991. Ia menekankan kebolehbacaan dan kesederhanaan kod, dan sesuai untuk pengkomputeran saintifik, analisis data dan bidang lain.

Cara memeriksa nama bekas Docker Cara memeriksa nama bekas Docker Apr 15, 2025 pm 12:21 PM

Anda boleh menanyakan nama kontena Docker dengan mengikuti langkah -langkah: Senaraikan semua bekas (Docker PS). Tapis senarai kontena (menggunakan arahan grep). Mendapat nama kontena (terletak di lajur "Nama").

Cara Memulakan Bekas oleh Docker Cara Memulakan Bekas oleh Docker Apr 15, 2025 pm 12:27 PM

Docker Container Startup Langkah: Tarik Imej Bekas: Run "Docker Pull [Mirror Name]". Buat bekas: Gunakan "Docker Buat [Pilihan] [Nama Mirror] [Perintah dan Parameter]". Mulakan bekas: Jalankan "Docker Start [Nama Container atau ID]". Semak Status Kontena: Sahkan bahawa bekas sedang berjalan dengan "Docker PS".

Impak PHP: Pembangunan Web dan seterusnya Impak PHP: Pembangunan Web dan seterusnya Apr 18, 2025 am 12:10 AM

Phphassignificantelympactedwebdevelopmentandextendsbeyondit.1) itpowersmajorplatformslikeworderpressandexcelsindatabaseIntions.2) php'SadaptabilityAldoStoScaleforlargeapplicationFrameworksLikelara.3)

PHP: Pengenalan kepada bahasa skrip sisi pelayan PHP: Pengenalan kepada bahasa skrip sisi pelayan Apr 16, 2025 am 12:18 AM

PHP adalah bahasa skrip sisi pelayan yang digunakan untuk pembangunan web dinamik dan aplikasi sisi pelayan. 1.Php adalah bahasa yang ditafsirkan yang tidak memerlukan kompilasi dan sesuai untuk perkembangan pesat. 2. Kod PHP tertanam dalam HTML, menjadikannya mudah untuk membangunkan laman web. 3. PHP memproses logik sisi pelayan, menghasilkan output HTML, dan menyokong interaksi pengguna dan pemprosesan data. 4. PHP boleh berinteraksi dengan pangkalan data, penyerahan borang proses, dan melaksanakan tugas-tugas sampingan pelayan.

See all articles