
我需要一个Nginx重写规则来重写:
http://some-keyword.example.com到www.example.com/keyword.PHP?keyword=$some-keyword
而前面没有www域名仍然会重写为www.example.com而www则不会被当作关键字。
请你能帮我解决这个问题,怎么写这两个规则?
特殊字符和URL重写
htaccess阻止访问.PHP,并只允许使用RewriteRule
匹配来自inputstring的URL链接
Bash:从文件中提取date
为什么这个正则Expression式不适用于grep?
以良好的格式保存从terminal到文件的显示输出
使用mod_rewrite删除.PHP扩展名,同时清理GET URL
连字符和撇号字符 – 不同语言的相同ASCII码?
将每个文件重命名为每个文件中find的正则Expression式模式
htaccess中的mod_rewrite:防止循环的最好方法?
如果你的意思是重定向,那么:
server { server_name ~^(.*).example.com$ ; rewrite ^ http://www.example.com/keyword.PHP?keyword=$1 redirect; }
在重写的情况下,然后简单地做
server { server_name example.com ~^(.*).example.com$ ; rewrite ^ /keyword.PHP?keyword=$1 break; # location /keyword.PHP { # .... # } }
rewrite ^/List-c-([0-9]+)-k-(.+)-o-1.HTML$ /index.PHP?module=Default&action=List&c=$1&k=$2&o=1 last; rewrite ^/List-c-([0-9]+)-k-(.+)-o-1-p-(.+).HTML$ /index.PHP?module=Default&action=List&c=$1&k=$2&o=1&p=$3 last; rewrite ^/List-c-([0-9]+)-k-(.+)-o-1-price-(.+).HTML$ /index.PHP?module=Default&action=List&c=$1&k=$2&o=1&price=$3 last; rewrite ^/List-c-([0-9]+)-k-(.+)-o-(.+)-p-1.HTML$ /index.PHP?module=Default&action=List&c=$1&k=$2&o=$3&p=1 last; rewrite ^/List-c-([0-9]+)-k-(.+)-o-(.+)-p-(.+).HTML$ /index.PHP?module=Default&action=List&c=$1&k=$2&o=$3&p=$4 last;
如果可能,我只创建一个服务器(虚拟主机),这是正常的domain.com / www.domain.com ,然后使用conf重写其余的给他们
server { server_name domain.com www.domain.com; # normal handling for files } server { server_name ~(?<subdomain>[^.]*).domain.com; location / { try_files keyword.PHP?keyword=$subdomain =404; } }
请告诉我,如果我错过了什么。
总结以上是内存溢出为你收集整理的nginx子域重写全部内容,希望文章能够帮你解决nginx子域重写所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)