NGINX用PHP参数重写URL

时间:2014-01-27 11:41:41

标签: php mod-rewrite nginx url-rewriting rewrite

我已经阅读了nginx文档,我在这里阅读了大约10篇关于类似问题的帖子,但我仍然无法使其正常工作。

我的基本重定向工作正常,但是当我尝试使用某些参数进行重写时,页面最终会加载搞笑。只是加载了html,并且没有正确加载所有其他css,images和js文件。

我正在研究Wginx,这是我正在使用的配置。

location ~ /\. {deny all;}

    location / {

        rewrite ^/index /index.php last;
        rewrite ^/arcade /arcade.php last;
        rewrite ^/info /info.php last;
        rewrite ^/info/(.*)$ /info-entry.php?pki=$1 last;


        if ($host ~ ^(www\.)?([a-z0-9\-\.]+)$){
            root home/$2/public_html;
            access_log  logs/$2-access.log  main;
        }

    }

    location ~ \.php$ {

        if ($host ~ ^(www\.)?([a-z0-9\-\.]+)$){
            root home/$2/public_html;
            access_log  logs/$2-access.log  main;
        }

        if (!-e $document_root$document_uri){return 404;}
        fastcgi_pass localhost:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

        include fastcgi_params;

    }

前三次重写工作正常 (但我认为有一种更简单的方法可以关闭.php而不是为每个文件重写一次)

我注意到当我删除以下行时,我的info-results.php页面得到的结果略有不同。不确定到底发生了什么。

rewrite ^/info /info.php last;

1 个答案:

答案 0 :(得分:0)

尝试在<head></head>

中指定基本标记

E.g。

<base href="http://www.website.com/" target="_blank">

请参阅<base> tag