#rewrite .* /index.php last; rewrite ^/(.*)$ /index.php/ last;
這兩行程式碼,上一行可以正常使用,後面那行一使用就報錯,為什麼? ?是不是有什麼設定要開啟,看了文件也沒找到呀。 。 。
学习是最好的投资!
rewrite ^/(.*)$ /index.php/ last; 中 代表的是 ^/(.*)$ 正则捕获的内容,也就是(.*) 捕獲到的內容。
rewrite ^/(.*)$ /index.php/ last;
^/(.*)$
(.*)
^/(.*)$ 中 ^/ 表示已 / 开头, . 表示匹配除换行符以外的任意字符,* 表示重复0次或更多次,$ 表示匹配字符串的结束,() 表示捕獲(匹配)內容。 小括號()之间匹配的内容,可以在后面通过来引用,表示的是前面第二个()裡的內容。
^/(.*)$ 中 ^/ 表示已 / 开头, . 表示匹配除换行符以外的任意字符,* 表示重复0次或更多次,$ 表示匹配字符串的结束,() 表示捕獲(匹配)內容。
^/
/
.
*
$
()
小括號()之间匹配的内容,可以在后面通过来引用,表示的是前面第二个()裡的內容。
也就是當一個請求連結為 /test,就会被重写为/index.php/test并重定向到/index.php/test,所以请确保有这样的资源地址 /index.php/test
/test
/index.php/test
用nginx -t測試下配置是否正確500錯誤,看ErrorLog一般都有告訴你原因
nginx -t
把那個正規去掉試試
rewrite ^/(.*)$ /index.php/ last;
中代表的是
^/(.*)$
正则捕获的内容,也就是(.*)
捕獲到的內容。也就是當一個請求連結為
/test
,就会被重写为/index.php/test
并重定向到/index.php/test
,所以请确保有这样的资源地址/index.php/test
用
nginx -t
測試下配置是否正確500錯誤,看ErrorLog一般都有告訴你原因
把那個正規去掉試試