whmcs软件安装后,一切运行正常的情况下,可以来调试伪静态规则。
这里的环境是使用ssl证书的whmcs平台,同时使用的是nginx(apache的平台直接修改.htaccess文件即可实现),
注意,Nginx需要修改whmcs网站的niginx conf文件。
如果使用的是lnmp,存储目录为: /usr/local/nginx/conf/vhost/xxx.com.conf
如果不是lnmp,一般存储目录为:/etc/nginx/conf.d/default.conf 具体根据您服务器情况判定。
在网站规则部分加入下面代码:
管理区域伪静态规则 /whmcs/admin是管理目录
location ~ /whmcs/admin/(client!\.php|client/(.*)|search!\.php|search/(.*)|apps|billing|setup|user|services|addons|domains|utilities|logs|help!\.php|help/license|image/(recent|upload))/?(.*)$ {
root /path/to/website/root/folder;
rewrite ^/(.*)$ /whmcs/admin/index.php?rp=/admin/$1/$2;
}
#== 客户区域伪静态规则
location ~ /whmcs/(images/em|invoice|login|password|account|store|download|knowledgebase|project_management|announcements|clientarea/ssl-certificates|user/(verification|accounts|profile|password|security|verify)|cart/(domain/renew)|cart/order|images/kb)/?(.*)$ {
root /path/to/website/root/folder;
rewrite ^/(.*)$ /whmcs/index.php?rp=/$1/$2;
}
具体情况根据你的网站目录进行微调。有问题可以在下方留言,会尽量帮您指出问题。
下面是整理的其他版本的伪静态规则,可以作为参考:
1、其他版本的conf代码参考(for whmcs 8.x),下面是ssl版本的,一样是修改网站的conf文件:
server {
listen 80 default_server;
server_name 33f.net www.33f.net;
return 301 https://33f.net$request_uri;
}
# HTTPS server
#
server {
listen 443;
server_name 33f.net;
root /var/www/html/public;
access_log /var/log/nginx/33f.net-access_log;
error_log /var/log/nginx/33f.net-error_log;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
add_header X-Content-Type-Options "nosniff";
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
index index.php index.html index.htm;
charset utf-8;
ssl on;
ssl_certificate /var/www/html/storage/ssl/cert.pem;
ssl_certificate_key /var/www/html/storage/ssl/cert.key;
ssl_session_timeout 5m;
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES";
ssl_prefer_server_ciphers on;
location ~ /clients/admin/(client!\.php|search|apps|billing|setup|user|services|addons|domains|utilities|help!\.php|help/license|image/(recent|upload))/?(.*)$ {
rewrite ^/(.*)$ /clients/admin/index.php?rp=/admin/$1/$2;
}
location ~ /clients/(login|password|account|store|download|knowledgebase|announcements|clientarea/ssl-certificates|user/(profile|password|security)|cart/(domain/renew)|images/kb)/?(.*)$ {
rewrite ^/(.*)$ /clients/index.php?rp=/$1/$2;
}
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
error_page 404 /index.php;
proxy_send_timeout 300s;
proxy_read_timeout 300s;
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.(?!well-known).* {
deny all;
}
location ^~ /clients/vendor/ {
deny all;
return 403;
}
location ~* \.(?:jpg|jpeg|gif|png|ico|cur|gz|svg|svgz|mp4|ogg|ogv|webm|htc|svg|woff|woff2|ttf)\$ {
expires 1M;
access_log off;
add_header Cache-Control "public";
}
location ~* \.(?:css|js)\$ {
expires 7d;
access_log off;
add_header Cache-Control "public";
}
location ~ /\.ht {
deny all;
}
}
2、下面是非ssl版本的conf配置文件,也可以参考一下,注意啊,原则是尽量在你的conf基础上查缺补漏:
server {
listen 80;
server_name domain.com;
root /path/to/whmcs;
index index.php index.html;
access_log /var/log/nginx/domain.com.log combined;
access_log /var/log/nginx/domain.com.bytes bytes;
error_log /var/log/nginx/domain.com.error.log error;
location / {
try_files $uri $uri/ /index.php?$query_string;
location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ {
expires max;
}
location ~ [^/]\.php(/|$) {
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
if (!-f $document_root$fastcgi_script_name) {
return 404;
}
fastcgi_pass unix:/path/to/php-fpm.sock;
fastcgi_index index.php;
include /etc/nginx/fastcgi_params;
}
}
location ~ /announcements/?(.*)$ {
rewrite ^/(.*)$ /index.php?rp=/announcements/$1;
}
location ~ /downloads/?(.*)$ {
rewrite ^/(.*)$ /index.php?rp=/downloads/$1;
}
location ~ /knowledgebase/?(.*)$ {
rewrite ^/(.*)$ /index.php?rp=/knowledgebase/$1;
}
error_page 403 /error/404.html;
error_page 404 /error/404.html;
error_page 500 502 503 504 /error/50x.html;
location ~* "/\.(htaccess|htpasswd)$" {
deny all;
return 404;
}
}
3、下面是whmcs 7.x版本的伪静态,8.x的一样可以参考
同样更新.conf文件。
# WHMCS客户中心区域
location ~ /billing/announcements/?(.*)$ {
rewrite ^/(.*)$ /billing/index.php?rp=/announcements/$1;
}
location ~ /billing/download/?(.*)$ {
rewrite ^/(.*)$ /billing/index.php?rp=/download$1;
}
location ~ /billing/knowledgebase/?(.*)$ {
rewrite ^/(.*)$ /billing/index.php?rp=/knowledgebase/$1;
}
location ~ /billing/store/ssl-certificates/?(.*)$ {
rewrite ^/(.*)$ /billing/index.php?rp=/store/ssl-certificates/$1;
}
location ~ /billing/store/sitelock/?(.*)$ {
rewrite ^/(.*)$ /billing/index.php?rp=/store/sitelock/$1;
}
location ~ /billing/store/website-builder/?(.*)$ {
rewrite ^/(.*)$ /billing/index.php?rp=/store/website-builder/$1;
}
location ~ /billing/store/order/?(.*)$ {
rewrite ^/(.*)$ /billing/index.php?rp=/store/order/$1;
}
location ~ /billing/cart/domain/renew/?(.*)$ {
rewrite ^/(.*)$ /billing/index.php?rp=/cart/domain/renew$1;
}
location ~ /billing/account/paymentmethods/?(.*)$ {
rewrite ^/(.*)$ /billing/index.php?rp=/account/paymentmethods$1;
}
location ~ /billing/password/reset/?(.*)$ {
rewrite ^/(.*)$ /billing/index.php?rp=/password/reset/$1;
}
location ~ /billing/account/security/?(.*)$ {
rewrite ^/(.*)$ /billing/index.php?rp=/account/security$1;
}
location ~ /billing/subscription?(.*)$ {
rewrite ^/(.*)$ /billing/index.php?rp=/subscription$1;
}
#社交媒体授权
location ~ /billing/auth/provider/google_signin/finalize/?(.*)$ {
rewrite ^/(.*)$ /billing/index.php?rp=auth/provider/google_signin/finalize$1;
}
#WHMCS 管理区域
location ~ /billing/admin/(addons|apps|search|domains|help\/license|services|setup|utilities\/system\/php-compat)(.*) {
rewrite ^/(.*)$ /billing/admin/index.php?rp=/admin/$1$2 last;
}
location ~ /billing/admin/client/?(.*)/paymethods/?(.*)$ {
rewrite ^/(.*)$ /billing/admin/index.php?rp=/client/?(.*)/paymethods/$1;
}
location ~ /billing/admin/setup/auth/?(.*)$ {
rewrite ^/(.*)$ /billing/admin/index.php?rp=/setup/auth/$1;
}
location ~ /billing/admin/client/?(.*)/tickets/?(.*)$ {
rewrite ^/(.*)$ /billing/admin/index.php?rp=/client/?(.*)/tickets/$1;
}
location ~ /billing/admin/client/?(.*)/invoice/?(.*)/capture/?(.*)$ {
rewrite ^/(.*)$ /billing/admin/index.php?rp=/client/?(.*)/invoice/?(.*)/capture/$1;
}
location ~ /billing/admin/account/security/two-factor/?(.*)$ {
rewrite ^/(.*)$ /billing/admin/index.php?rp=/admin/account/security/two-factor/$1;
}
location ~ /billing/admin/search/intellisearch?(.*)$ {
rewrite ^/(.*)$ /billing/admin/index.php?rp=/search/intellisearch/$1;
}
# Security Advisory 2020-01-28
location ^~ /vendor/ {
deny all;
return 403;
}
1、不在billing目录的,自行修改目录
2、如果直接用主域名或者二级域名的,直接可以把"/billing/"替换为"/"就行了,比如:
location ~ /announcements/?(.*)$ {
rewrite ^/(.*)$ /index.php?rp=/announcements/$1;
}
3、如果管理目录不是/admin,那就直接修改/admin为你自己的管理目录/xxx,比如:
location ~ /billing/目录名/setup/auth/?(.*)$ {
rewrite ^/(.*)$ /billing/目录名/index.php?rp=/setup/auth/$1;
}
以上基本上就够用了。不懂的可以留言交流。
版权属于: 三三世界-百宝箱
本文链接: http://www.33f.net/setup/whmcs_8-3_rewrite_rule_for_nginx.html
本文最后更新于2021年11月14日 ,已超过1121天没有更新,若内容或图片失效,请留言反馈。
本文允许转载,但请在转载时请以超链接或其它形式标明文章出处
@Doug Shume it's ok for me , you can post here.
Saved as a favorite, I like your website!
If some one wishes to be updated with hottest technologies after that he must be visit this site and be up to date daily.
Heello would you mind sharing which blog platform you're using? I'm planning to start my own blog in the near future but I'm having a tough time making a decision between BlogEngine/Wordpress/B2evolution and Drupal. The reason I ask is because your layout seems different then moost blogs and I'm looking for something completely unique. P.S Apologies forr being off-topic butt I had to ask!
Thanks to my father who shared with me regarding this webpage, this website is genuinely amazing.
Hi, I have an overflow of customers that I'd like to send to you but I want to make sure you can handle more leads, let me know if you'd like me to send you more info.
zh.us.to 有效
kms.03k.org 有效
kms.chinancce.com
kms.shuax.com 有效
kms.dwhd.org 有效
kms.luody.info 有效
kms.digiboy.ir 有效
kms.lotro.cc 有效
www.zgbs.cc 有效
cy2617.jios.org 有效
@ 权限问题,试试sudo 再加命令。
你好提示Permission denied 怎么办啊