使用lnmp集成安裝包時(shí)Nginx重寫URL出現(xiàn)錯(cuò)誤

經(jīng)驗(yàn)教訓(xùn)

都說是人不能被同一塊石頭絆倒2次,對(duì)于不記筆記的我來說,真的會(huì)被絆倒2次的,所以這次我就先記一下筆記,防止后面還是出現(xiàn)同樣的錯(cuò)誤。

安裝環(huán)境

  1. Linux服務(wù)器安裝CentOs操作系統(tǒng)
  2. 使用集成化的安裝環(huán)境(lnmp一鍵安裝包)

首先是在自己的服務(wù)器上安裝了集成環(huán)境,安裝步驟不詳細(xì)介紹,具體查看安裝步驟

配置域名

安裝完成之后,在Nginx服務(wù)器的配置文件中添加域名,即在/usr/local/nginx/conf/nginx.conf文件中編輯添加服務(wù)器配置信息,命令如下:

server {
    listen 80 default_server;
    #listen [::]:80 default_server ipv6only=on;
    server_name 111.231.137.11;
    index index.html index.htm index.php;
    root  /home/wwwroot/beibeiyu;

    set $root /home/wwwroot/beibeiyu;
    #error_page   404   /404.html;
    #include enable-php.conf;
    include enable-php-pathinfo.conf;

    location /nginx_status
    {
        stub_status on;
        access_log   off;
    }

    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
    {
        expires      30d;
    }

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

    location ~ /\.
    {
        deny all;
        #Require all granted;
    }

    location / {
        root    $root;
        index    index.html index.php;
        if ( -f $request_filename) {
            break;
        }
        if ( !-e $request_filename) {
            rewrite ^(.*)$ /index.php/$1 last;
            break;
        }
    }

    location ~ .+\.php($|/) {
        set $script $uri;
        set $path_info "";
        if ($uri ~ "^(.+\.php)(/.+)") {
            set $script $1;
            set $path_info $2;
        }
        fastcgi_pass    unix:/run/php/php7.0-fpm.sock;
        fastcgi_index    index.php?IF_REWRITE=1;
        fastcgi_param    PATH_INFO    $path_info;
        fastcgi_param    SCRIPT_FILENAME    $root$fastcgi_script_name;
        fastcgi_param    SCRIPT_NAME    $script;
        include        fastcgi_params;
    }

    access_log  /home/wwwlogs/access.log;
}

這個(gè)是配置域名,并配置了URL重寫規(guī)則,而且是查詢了很多資料之后得到的結(jié)果,但是在網(wǎng)站中訪問的時(shí)候,卻出現(xiàn)了開始訪問的時(shí)候是沒有問題的,但是在鏈接跳轉(zhuǎn)了一次之后,重寫URL的規(guī)則就不正確了,顯示如下圖:

初次訪問配置的網(wǎng)站

這里我們可以看到顯示是完全正常的,點(diǎn)擊其他的關(guān)于我們之類的鏈接,顯示也是正常的,如下圖:

第二次點(diǎn)擊跳轉(zhuǎn)鏈接

這個(gè)時(shí)候跳轉(zhuǎn)也是成功,但是如果我們將光標(biāo)移動(dòng)到其他的a標(biāo)簽上就看到跳轉(zhuǎn)鏈接顯示不正常,如下圖:

不正常的顯示鏈接

顯示的鏈接結(jié)果為:http://home/Safety/Home/ProductFeatures/index.html,這個(gè)時(shí)候可以知道是重寫的規(guī)則不正確,可是還是找不到對(duì)應(yīng)的解決辦法,最后找到了解決的辦法:

正確的解決辦法

解決的辦法:

將php.ini配置文件中的cgi.fix_pathinfo=0的值修改為cgi.fix_pathinfo=1,之后保存退出,然后需要重啟PHP,執(zhí)行命令:

service php-fpm restart
解決之后顯示正常
點(diǎn)擊鏈接之后跳轉(zhuǎn)正常
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第一章 Nginx簡介 Nginx是什么 沒有聽過Nginx?那么一定聽過它的“同行”Apache吧!Ngi...
    JokerW閱讀 33,040評(píng)論 24 1,002
  • CGI 通用網(wǎng)關(guān)接口(Common Gateway Interface)是一個(gè)Web服務(wù)器主機(jī)提供信息服務(wù)的標(biāo)準(zhǔn)接...
    沒我找不到電子書閱讀 2,123評(píng)論 1 4
  • 藍(lán)雨副隊(duì)像貓兒,怕冷。 偏偏該死的南方城市沒有暖氣,二十幾歲的大小伙子長手長腳也堅(jiān)決要和隊(duì)長擠在一個(gè)被窩里。 冰涼...
    葉介岫閱讀 152評(píng)論 0 0
  • 2017.10.2日 奔波一天終于晚餐,原計(jì)劃好的東南亞菜館在這個(gè)時(shí)間檔裝修,只能臨時(shí)轉(zhuǎn)去別家領(lǐng)號(hào)排隊(duì)。心里暗暗不...
    EmmaMeng閱讀 488評(píng)論 0 0
  • 夢想這東西和經(jīng)典一樣,永遠(yuǎn)不會(huì)因?yàn)闀r(shí)間而褪色,反而更顯珍貴。 — — —早安!
    地獄書生Jason_e73b閱讀 151評(píng)論 0 0

友情鏈接更多精彩內(nèi)容