經(jīng)驗教訓(xùn)
都說是人不能被同一塊石頭絆倒2次,對于不記筆記的我來說,真的會被絆倒2次的,所以這次我就先記一下筆記,防止后面還是出現(xiàn)同樣的錯誤。
安裝環(huán)境
- Linux服務(wù)器安裝CentOs操作系統(tǒng)
- 使用集成化的安裝環(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;
}
這個是配置域名,并配置了URL重寫規(guī)則,而且是查詢了很多資料之后得到的結(jié)果,但是在網(wǎng)站中訪問的時候,卻出現(xiàn)了開始訪問的時候是沒有問題的,但是在鏈接跳轉(zhuǎn)了一次之后,重寫URL的規(guī)則就不正確了,顯示如下圖:

初次訪問配置的網(wǎng)站
這里我們可以看到顯示是完全正常的,點擊其他的關(guān)于我們之類的鏈接,顯示也是正常的,如下圖:

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

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

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

解決之后顯示正常

點擊鏈接之后跳轉(zhuǎn)正常