Linux版主机宝安装Carbon Forum,启用rewrite规则教程
Linux版主机宝安装Carbon Forum,启用rewrite规则教程
By lincanbin
at 2015-05-20
2人收藏 • 2835人看过
进入
主机宝安装目录/apps/nginx/vhosts
找到对应网站的配置文件.conf,编辑
找到
error_page 404 /404.html;
将其替换为Carbon Forum根目录下nginx.conf里的内容,修改后如图所示:
SSH登陆,执行
service nginx restart
重启nginx,完成。
- 登录后方可回帖
7 个回复 | 最后更新于 2016-07-13
上面是老版本的
现在适合5.6.1的,在server块内
# carbon forum 5.6.1 nginx configuration rewrite 重定向配置 # Custom 404 page error_page 404 /404.php; rewrite ^/(.*)/dashboard /$1/dashboard.php break; rewrite ^/(.*)/forgot /$1/forgot.php break; rewrite ^/(.*)/favorites(/page/([0-9]*))? /$1/favorites.php\?page=$3 break; rewrite ^/(.*)/goto/([0-9]+)-([0-9]+) /$1/goto.php\?topic_id=$2&post_id=$3 break; rewrite ^/(.*)/json/([0-9a-z_\-]+) /$1/json.php\?action=$2 break; rewrite ^/(.*)/login(.*) /$1/login.php$2 break; rewrite ^/(.*)/manage /$1/manage.php break; rewrite ^/(.*)/new /$1/new.php break; rewrite ^/(.*)/notifications /$1/notifications.php break; rewrite ^/(.*)/oauth-([0-9]+) /$1/oauth.php\?app_id=$2 break; rewrite ^/(.*)/page/([0-9]+) /$1/index.php\?page=$2 break; rewrite ^/(.*)/register(.*) /$1/register.php$2 break; rewrite ^/(.*)/reply /$1/reply.php break; rewrite ^/(.*)/reset_password/(.*) /$1/reset_password.php\?access_token=$2 break; rewrite ^/(.*)/robots.txt /$1/robots.php break; rewrite ^/(.*)/search.xml /$1/open_search.php break; rewrite ^/(.*)/search/([^/]*)(/page/([0-9]*))? /$1/search.php\?keyword=$2&page=$4 break; rewrite ^/(.*)/settings /$1/settings.php break; rewrite ^/(.*)/sitemap-(topics|pages|tags|users|index)(-([0-9]+))?.xml /$1/sitemap.php\?action=$2&page=$4 break; rewrite ^/(.*)/statistics /$1/statistics.php break; rewrite ^/(.*)/t/([0-9]+)(-([0-9]*))?(.*) /$1/topic.php\?id=$2&page=$4 break; rewrite ^/(.*)/tag/([^/]*)(/page/([0-9]*))? /$1/tag.php\?name=$2&page=$4 break; rewrite ^/(.*)/tags/following(/page/([0-9]*))? /$1/favorite_tags.php\?page=$3 break; rewrite ^/(.*)/tags(/page/([0-9]*))? /$1/tags.php\?page=$3 break; rewrite ^/(.*)/u/(.*) /$1/user.php\?username=$2 break; rewrite ^/(.*)/users/following(/page/([0-9]*))? /$1/favorite_users.php\?page=$3 break; rewrite ^/(.*)/upload_controller(.*) /$1/upload_controller.php$2 break; rewrite ^/(.*)/view-(desktop|mobile)\?(.*) /$1/view.php\?view=$2&$3 break;
回复#1 @rampage :
https://github.com/lincanbin/Carbon-Forum/blob/master/nginx.conf
适合自己版本的Nginx规则一直都在程序目录下的nginx.conf里。
回复#2 @lincanbin :
git里面的nginx.conf 只有3句话呀?
感想@rampage 的反馈:
#carbon forum 5.6.1 nginx configuration rewrite 重定向配置 if (!-e $request_filename){ rewrite ^/(.*)/dashboard /$1/dashboard.php last; rewrite ^/(.*)/forgot /$1/forgot.php last; rewrite ^/(.*)/favorites(/page/([0-9]*))? /$1/favorites.php\?page=$3 last; rewrite ^/(.*)/goto/([0-9]+)-([0-9]+) /$1/goto.php\?topic_id=$2&post_id=$3 last; rewrite ^/(.*)/json/([0-9a-z_\-]+) /$1/json.php\?action=$2 last; rewrite ^/(.*)/login(.*) /$1/login.php$2 last; rewrite ^/(.*)/manage /$1/manage.php last; rewrite ^/(.*)/new /$1/new.php last; rewrite ^/(.*)/notifications /$1/notifications.php last; rewrite ^/(.*)/oauth-([0-9]+) /$1/oauth.php\?app_id=$2 last; rewrite ^/(.*)/page/([0-9]+) /$1/index.php\?page=$2 last; rewrite ^/(.*)/register(.*) /$1/register.php$2 last; rewrite ^/(.*)/reply /$1/reply.php last; rewrite ^/(.*)/reset_password/(.*) /$1/reset_password.php\?access_token=$2 last; rewrite ^/(.*)/robots.txt /$1/robots.php last; rewrite ^/(.*)/search.xml /$1/open_search.php last; rewrite ^/(.*)/search/([^/]*)(/page/([0-9]*))? /$1/search.php\?keyword=$2&page=$4 last; rewrite ^/(.*)/settings /$1/settings.php last; rewrite ^/(.*)/sitemap-(topics|pages|tags|users|index)(-([0-9]+))?.xml /$1/sitemap.php\?action=$2&page=$4 last; rewrite ^/(.*)/statistics /$1/statistics.php last; rewrite ^/(.*)/t/([0-9]+)(-([0-9]*))?(.*) /$1/topic.php\?id=$2&page=$4 last; rewrite ^/(.*)/tag/([^/]*)(/page/([0-9]*))? /$1/tag.php\?name=$2&page=$4 last; rewrite ^/(.*)/tags/following(/page/([0-9]*))? /$1/favorite_tags.php\?page=$3 last; rewrite ^/(.*)/tags(/page/([0-9]*))? /$1/tags.php\?page=$3 last; rewrite ^/(.*)/u/(.*) /$1/user.php\?username=$2 last; rewrite ^/(.*)/users/following(/page/([0-9]*))? /$1/favorite_users.php\?page=$3 last; rewrite ^/(.*)/upload_controller(.*) /$1/upload_controller.php$2 last; rewrite ^/(.*)/view-(desktop|mobile)\?(.*) /$1/view.php\?view=$2&$3 last; }
前面贴的代码有问题,测试通过的
## # You should look at the following URL's in order to grasp a solid understanding # of Nginx configuration files in order to fully unleash the power of Nginx. # http://wiki.nginx.org/Pitfalls # http://wiki.nginx.org/QuickStart # http://wiki.nginx.org/Configuration # # Generally, you will want to move this file somewhere, and start with a clean # file but keep this around for reference. Or just disable in sites-enabled. # # Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples. ## # Default server configuration # server { # don't forget to tell on which port this server listens listen 80; listen [::]:80; # listen on the www host server_name *.example.com; # and redirect to the non-www host (declared below) return 301 https://example.com$request_uri; } server{ # listen 443 ssl default_server; # listen [::]:443 ssl default_server; listen 443 ssl http2; listen [::]:443 ssl http2; ssl on; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; include h5bp/directive-only/ssl-stapling.conf; root /var/www/cf-pokemongo; #Add index.php to the list if you are using PHP #index.htm is used for folder mask index index.html index.htm index.php; #Specify a charset charset utf-8; server_name example.com; access_log /var/log/nginx/example.com.access_log; error_log /var/log/nginx/example.com.error_log info; include h5bp/directive-only/cache-file-descriptors.conf; include h5bp/basic.conf; #basic.conf including the following 4 #x-ua-compatible; #expires; #cross-domain-fonts; #"Access-Control-Allow-Origin" "*"; #protect-system-files; #include h5bp/directive-only/extra-security.conf; #this tells nginx to cache open file handles #include h5bp/directive-only/no-transform.conf; #Custom 404 page error_page 404 /404.php; #carbon forum 5.6.1 nginx configuration rewrite 重定向配置 if (!-e $request_filename){ rewrite ^/(.*)/dashboard /$1/dashboard.php last; rewrite ^/(.*)/forgot /$1/forgot.php last; rewrite ^/(.*)/favorites(/page/([0-9]*))? /$1/favorites.php\?page=$3 last; rewrite ^/(.*)/goto/([0-9]+)-([0-9]+) /$1/goto.php\?topic_id=$2&post_id=$3 last; rewrite ^/(.*)/json/([0-9a-z_\-]+) /$1/json.php\?action=$2 last; rewrite ^/(.*)/login(.*) /$1/login.php$2 last; rewrite ^/(.*)/manage /$1/manage.php last; rewrite ^/(.*)/new /$1/new.php last; rewrite ^/(.*)/notifications /$1/notifications.php last; rewrite ^/(.*)/oauth-([0-9]+) /$1/oauth.php\?app_id=$2 last; rewrite ^/(.*)/page/([0-9]+) /$1/index.php\?page=$2 last; rewrite ^/(.*)/register(.*) /$1/register.php$2 last; rewrite ^/(.*)/reply /$1/reply.php last; rewrite ^/(.*)/reset_password/(.*) /$1/reset_password.php\?access_token=$2 last; rewrite ^/(.*)/robots.txt /$1/robots.php last; rewrite ^/(.*)/search.xml /$1/open_search.php last; rewrite ^/(.*)/search/([^/]*)(/page/([0-9]*))? /$1/search.php\?keyword=$2&page=$4 last; rewrite ^/(.*)/settings /$1/settings.php last; rewrite ^/(.*)/sitemap-(topics|pages|tags|users|index)(-([0-9]+))?.xml /$1/sitemap.php\?action=$2&page=$4 last; rewrite ^/(.*)/statistics /$1/statistics.php last; rewrite ^/(.*)/t/([0-9]+)(-([0-9]*))?(.*) /$1/topic.php\?id=$2&page=$4 last; rewrite ^/(.*)/tag/([^/]*)(/page/([0-9]*))? /$1/tag.php\?name=$2&page=$4 last; rewrite ^/(.*)/tags/following(/page/([0-9]*))? /$1/favorite_tags.php\?page=$3 last; rewrite ^/(.*)/tags(/page/([0-9]*))? /$1/tags.php\?page=$3 last; rewrite ^/(.*)/u/(.*) /$1/user.php\?username=$2 last; rewrite ^/(.*)/users/following(/page/([0-9]*))? /$1/favorite_users.php\?page=$3 last; rewrite ^/(.*)/upload_controller(.*) /$1/upload_controller.php$2 last; rewrite ^/(.*)/view-(desktop|mobile)\?(.*) /$1/view.php\?view=$2&$3 last; } location / { include /etc/nginx/naxsi.rules; root /var/www/cf-example; try_files $uri $uri/ /index.php?$query_string; index index.html index.php; } location /RequestDenied { return 418; } # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php$ { include snippets/fastcgi-php.conf; } }
回复#6 @rampage :