Tagged: Discuz

Discuz在新浪云空间实现URL伪静态

新浪云SAE云空间在分布式基础上,几乎实现了普通虚拟主机全兼容的环境,但还是有一点点区别,比如URL Rewrite,新浪云空间实现URL Rewrite是通过在根目录编写一个 .appconfig 来实现的,同时在规则上也有一些区别

官方提供了一个原生 .htaccess 到 .appconfig 的转换工具:
http://htaccess.applinzi.com
我试了下 Discuz 的 Rewrite,转换后,发现没什么软用

RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} ^(.*)RewriteRule ^/data1/www/htdocs/711//1/topic-(.+)\.html portal.php?mod=topic&topic=1&%1
RewriteCond %{QUERY_STRING} ^(.*)
RewriteRule ^/data1/www/htdocs/711//1/article-([0-9]+)-([0-9]+)\.htmlportal.php?mod=view&aid=1&page=2&%1
RewriteCond %{QUERY_STRING} ^(.*)
RewriteRule ^/data1/www/htdocs/711//1/forum-(\w+)-([0-9]+)\.htmlforum.php?mod=forumdisplay&fid=1&page=2&%1
RewriteCond %{QUERY_STRING} ^(.*)
RewriteRule ^/data1/www/htdocs/711//1/thread-([0-9]+)-([0-9]+)-([0-9]+)\.htmlforum.php?mod=viewthread&tid=1&extra=page\%3D3&page=2&%1
RewriteCond %{QUERY_STRING} ^(.*)RewriteRule ^/data1/www/htdocs/711//1/group-([0-9]+)-([0-9]+)\.html forum.php?mod=group&fid=1&page=2&%1
RewriteCond %{QUERY_STRING} ^(.*)RewriteRule ^/data1/www/htdocs/711//1/space-(username|uid)-(.+)\.html home.php?mod=space&1=2&%1
RewriteCond %{QUERY_STRING} ^(.*)RewriteRule ^/data1/www/htdocs/711//1/blog-([0-9]+)-([0-9]+)\.html home.php?mod=space&uid=1&do=blog&id=2&%1
RewriteCond %{QUERY_STRING} ^(.*)RewriteRule ^/data1/www/htdocs/711//1/archiver/(fid|tid)-([0-9]+)\.html archiver/index.php?action=1&value=2&%1
RewriteCond %{QUERY_STRING} ^(.*)RewriteRule ^/data1/www/htdocs/711//1/([a-z]+[a-z0-9_]*)-([a-z0-9_\-]+)\.html plugin.php?id=1:2&%1[

下面是我改写的、亲测有效的 Rewrite 规则:

RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} ^(.*)RewriteRule ^(.*)/topic-(.+)\.html portal.php?mod=topic&topic=2&%1
RewriteCond %{QUERY_STRING} ^(.*)
RewriteRule ^(.*)/article-([0-9]+)-([0-9]+)\.htmlportal.php?mod=view&aid=2&page=3&%1
RewriteCond %{QUERY_STRING} ^(.*)
RewriteRule ^(.*)/forum-(\w+)-([0-9]+)\.htmlforum.php?mod=forumdisplay&fid=2&page=3&%1
RewriteCond %{QUERY_STRING} ^(.*)
RewriteRule ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.htmlforum.php?mod=viewthread&tid=2&extra=page\%3D4&page=3&%1
RewriteCond %{QUERY_STRING} ^(.*)RewriteRule ^(.*)/group-([0-9]+)-([0-9]+)\.html forum.php?mod=group&fid=2&page=3&%1
RewriteCond %{QUERY_STRING} ^(.*)RewriteRule ^(.*)/space-(username|uid)-(.+)\.html home.php?mod=space&2=3&%1
RewriteCond %{QUERY_STRING} ^(.*)RewriteRule ^(.*)/blog-([0-9]+)-([0-9]+)\.html home.php?mod=space&uid=2&do=blog&id=3&%1
RewriteCond %{QUERY_STRING} ^(.*)RewriteRule ^(.*)/(fid|tid)-([0-9]+)\.html index.php?action=2&value=3&%1
RewriteCond %{QUERY_STRING} ^(.*)RewriteRule ^(.*)/([a-z]+[a-z0-9_]*)-([a-z0-9_\-]+)\.html plugin.php?id=2:3&%1

新浪云SAE支持直接安装 ThinkPHP3.2 啦

ThinkPHP3.2 核心内置了对SAE平台的支持(采用了应用模式的方式),
具有自己的独创特性,能够最大程度的使用ThinkPHP的标准特性,让开发人员感受不到SAE和普通环境的差别。

了解更多:http://document.thinkphp.cn/manual_3_2/sae.html

1、在应用仓库直接安装:

http://sae.sina.com.cn/?m=apps&a=detail&aid=166

2、点击右上角安装框架

输入自己的喜欢域名主体(创建后可以在后台绑定自己的域名)

目前 SAE 最新版 ThinkPHP 是 3.2.3,
并且使用的是ThinkPHP官方提供的远程安装包,代码和官方保持同步

微信公众号:程序员到架构师

最新文章

Return Top