【nginx重寫url】之 當項目有多個入口檔案時

來源:互聯網
上載者:User

標籤:使用   檔案   style   模式   color   com   cal   param   nbsp   

為了讓url更美觀,我們不願意看到 .php 字樣的url(逼格高)。

 

但當我們的php項目有多個入口檔案時,(假如有index.php, admin.php, app.php, api.php 四個入口檔案),在不處理的狀態下,url會呈現出這般景象:

www.example.com/index.php/xxx/xxx/...

www.example.com/admin.php/xxx/xxx/...

www.example.com/app.php/xxx/xxx/...

www.example.com/admin.php/xxx/xxx/...

 

這時,我們可以使用我們伺服器的重寫功能,來改造url,Apache和Nginx都有這一功能。我這裡使用的是Nginx。

在nginx.conf檔案中,這樣寫:

server {        listen       80;        server_name localhost;        root "D:/phpStudy/WWW/blog/webroot";        index index.php;        ###########################################隱藏 .php        location / {                if (!-e $request_filename) {                                                ### 當項目有多個入口檔案時                                                # admin.php 入口                        rewrite ^/admin/(.*)$ /admin.php/$1 last;                                                # app.php 入口                        # rewrite ^/app/(.*)$ /app.php/$1 last;                                                # api.php 入口                        # rewrite ^/api/(.*)$ /api.php/$1 last;                                                ### 前面的url過濾之後,再走index.php入口                        rewrite ^/(.*)$ /index.php/$1 last;                                        }           }        ##########################################pathinfo 模式        location ~ \.php($|/) {            fastcgi_pass   127.0.0.1:9000;            fastcgi_index  index.php;            fastcgi_split_path_info ^(.+\.php)(.*)$;            fastcgi_param   PATH_INFO $fastcgi_path_info;            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;            include        fastcgi_params;        }}

 

【nginx重寫url】之 當項目有多個入口檔案時

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.