LNMP/Nginx环境下Joomla程序伪静态设置方法

在之前一篇\”LNMP环境中WordPress程序伪静态解决方案\”我们已经学会了在Nginx环境下设置wordpress伪静态的方法,因为Nginx不同于Apache直接丢一个.HTACCESS这么简单,需要用到手工设置。在我们常用的CMS程序中,Joomla也是非常好的内容管理系统,安全性比我们熟悉的DEDECMS好很多。而且在用到伪静态路径可以节省我们的空间资源。

第一步,准备伪静态脚本。

server {
        listen 80;
        server_name laozuo.org;
        server_name_in_redirect off;

        access_log /var/log/nginx/localhost.access_log main;
        error_log /var/log/nginx/localhost.error_log info;

        root PATH_ON_SERVER;
        index index.php index.html index.htm default.html default.htm;
        # Support Clean (aka Search Engine Friendly) URLs
        location / {
                try_files $uri $uri/ /index.php$args;
        }

        # deny running scripts inside writable directories
        location ~* /(images|cache|media|logs|tmp)/.*\\.(php|pl|py|jsp|asp|sh|cgi)$ {
                return 403;
                error_page 403 /403_error.html;
        }

        location ~ \\.php$ {
            fastcgi_pass  127.0.0.1:9000;
            fastcgi_index index.php;
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include /etc/nginx/fastcgi.conf;
        }

        # caching of files 
        location ~* \\.(ico|pdf|flv)$ {
                expires 1y;
        }

        location ~* \\.(js|css|png|jpg|jpeg|gif|swf|xml|txt)$ {
                expires 14d;
        }

}

在上面的域名需要写成我们自己的。

第二步,修改文件。

/usr/local/nginx/conf/vhost/www.laozuo.org.conf

这个文件是在我们添加域名站点时候自动生成的,然后修改这个脚本为第一步的伪静态文件,全部替换就OK。这样我们是把所有的伪静态都写入的,而没有像wordpress采用调用的方式。效果是一样的。

最后,修改完毕之后,我们需要重启LNMP。

/root/lnmp restart