OpenShift 添加 URL Rewrite 重写支持

简介: OpenShift空间默认是没有开启URL重写功能的,需要自己创建.htaccess文件来开启。   在你应用目录(/app-root/runtime/repo/php)下建立文件名“.htaccess” 。

 OpenShift空间默认是没有开启URL重写功能的,需要自己创建.htaccess文件来开启。

 

在你应用目录(/app-root/runtime/repo/php)下建立文件名“.htaccess” 。

 

以Discuz论坛为例,内容如下:

RewriteEngine On
RewriteBase /


RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^topic-(.+)\.html$ portal.php?mod=topic&topic=$ 1&% 1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^article-([ 0- 9]+)-([ 0- 9]+)\.html$ portal.php?mod=view&aid=$ 1&page=$ 2&% 1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^forum-(\w+)-([ 0- 9]+)\.html$ forum.php?mod=forumdisplay&fid=$ 1&page=$ 2&% 1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^thread-([ 0- 9]+)-([ 0- 9]+)-([ 0- 9]+)\.html$ forum.php?mod=viewthread&tid=$ 1&extra=page\%3D$ 3&page=$ 2&% 1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^group-([ 0- 9]+)-([ 0- 9]+)\.html$ forum.php?mod=group&fid=$ 1&page=$ 2&% 1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^space-(username|uid)-(.+)\.html$ home.php?mod=space&$ 1=$ 2&% 1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^blog-([ 0- 9]+)-([ 0- 9]+)\.html$ home.php?mod=space&uid=$ 1& do=blog&id=$ 2&% 1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^archiver/(fid|tid)-([ 0- 9]+)\.html$ archiver/index.php?action=$ 1&value=$ 2&% 1
RewriteCond %{QUERY_STRING} ^(.*)$

RewriteRule ^([a-z]+[a-z0-9_]*)-([a-z0-9_\-]+)\.html$ plugin.php?id=$1:$2&%1 

 

 

 即可开启重写功能了。

 

 

目录
相关文章
|
XML 数据可视化 安全
IIS中的URL Rewrite模块功能学习总结
IIS中的URL Rewrite模块功能学习总结
431 0
IIS中的URL Rewrite模块功能学习总结
Yii2.0的URL规则是什么?底层原理是什么?
Yii2.0的URL规则是什么?底层原理是什么?
|
移动开发
详解IIS中的重写工具下关于操作重定向URL中的{R:N}与{C:N}
详解IIS中的重写工具下关于操作重定向URL中的{R:N}与{C:N}
221 0
详解IIS中的重写工具下关于操作重定向URL中的{R:N}与{C:N}
|
.NET
艾伟:重提URL Rewrite(2):使用已有组件进行URL Rewrite
  可能已经没有人会使用上一篇文章中的方法进行URL Rewrite了,因为提供URL Rewrite的组件早已铺天盖地了。   ASP.NET级别的URL Rewrite组件的原理很简单,其实只是监听BeginRequest事件,并且根据配置来决定目标URL。
1274 0
|
JavaScript 前端开发 .NET
艾伟:重提URL Rewrite(3):在URL Rewrite后保持PostBack地址
  在进行了URL Rewrite之后,经常会遇到的问题就是页面中PostBack的目标地址并非客户端请求的地址,而是URL Rewrite之后的地址。以上一篇文章中的重写为例:     rewriter>   当用户请求“/User/jeffz”之后,页面中的出现的代码却会是 ,这是因为在生成代码时,页面会使用当前Request.Url.PathAndQuery的值来得到form元素的action。
1033 0

热门文章

最新文章