博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DNN使用非80端口和总是跳转到http://localhost问题的解决
阅读量:6250 次
发布时间:2019-06-22

本文共 1179 字,大约阅读时间需要 3 分钟。

hot3.png

我试图在一台服务器上安装一个DNN网站时,遇到了一些问题。

问题一:
遇到的第一个问题就是网站总是自动导向到localhost。不管我怎么试,只要我输入,总是自动导向,这样会导致外部无法访问这个网站。
解决方法:
这个问题比较容易解决:
使用host登录
到Admin->Site Setting Page
在Portal Alias(网站别名)设置里,添加一个新的Http 别名”domain.com/dnn”
在网站使用默认的80端口时,这样设置就可以解决问题了。

 

问题二:
当我想把这个DNN网站放在8080端口上运行时,比如,如果我点击某个链接想转到其它页面时,URL中的端口号会消失,如会自动变为

解决方法:

在Google了一番之后,我仔细的看了web.config文件,发现在web.config文件里面清楚的注明了:
<!-- set UsePortNumber to true to preserve the port number if you're using a port number other than 80 (the standard)
    <add key="UsePortNumber" value="true" /> -->

 

我修改了appsettings节,并且增加了下面这一行:
<add key="UsePortNumber" value="true" />

同时我添加了一个新的Http别名“domain.com:8080”

这样修改之后,使用的形式不会自动丢掉端口号,使用的形式任然会自动丢掉端口号,变成 的形式

注释:后来我发现这个不是DNN的问题了,而是我路由器设置和端口转发的问题,这个随后讨论。

问题三:
在增加“UsePortNumber”设置后任然没有解决我的问题。
解决方法:
对于安装DNN的机器,我路由器的设置会把给8080端口的数据都转发到80端口上来。所以当我访问 ,DNN Request对象得到的URL实际上是,并且DNN做URL rewrite的时候,都是处理的htpp://domain.com。

这对我是个大问题,最开始我想得写一个404 Page not found的HttpHandler来解决问题,但我很快就意识到这个事件在这个情况根本就触发不了。随后我想通过修改DNN的handlers来处理这个问题,最后我通过修改IIS和Router设置解决了问题。

在IIS里,我把默认站点(DNN所在站点)设置为使用8080端口

在路由器设置里,对于8080端口的转发由80改为8080(实际上就是不转发)

确保DNN的Http别名里添加了“domain.com:8080/dnn”。

转载于:https://my.oschina.net/xiaohelong/blog/366869

你可能感兴趣的文章
C语言32个关键字
查看>>
图像处理之canny---求梯度
查看>>
OpenGL编程轻松入门之一个简单的例子
查看>>
MVC控制器返回重定向操作
查看>>
LINUX总结
查看>>
编译php5.4的时候出现错误----configure: error: in `/usr/local/src/php540/php-5.4.0':
查看>>
机器学习编程01_线性回归
查看>>
Markdown语法
查看>>
《CSS世界》读书笔记(十六)
查看>>
初入前端
查看>>
(回文串 )Best Reward -- hdu -- 3613
查看>>
最少拦截系统------LCS--------动态规划
查看>>
关于EOF的种种。
查看>>
h5 拍照上传 代码
查看>>
javascript 通用定义
查看>>
语文文法
查看>>
SSM(Spring,SpringMVC,MyBatis)用户登录
查看>>
关于SQL注入,你应该知道的那些事
查看>>
jquery bxslider幻灯片样式改造
查看>>
常用JavaScript操作页面元素的方法
查看>>