我曾经输入不带“www”的网站 URL,到目前为止,它几乎适用于我尝试过的所有网站。
但我意识到如果你之前不输入“www”,我大学的网站就永远不会出现。
输入这个
http://u-psud.fr/
Run Code Online (Sandbox Code Playgroud)
显示一个死页,但添加“www”效果很好:
http://www.u-psud.fr/
Run Code Online (Sandbox Code Playgroud)
为什么它不适用于自己的网站,或者为什么它适用于其他网站:)
所以我有一个使用折扣 asp.net 帐户运行的网站,我将一个 asp.net mvc 应用程序放在一个子目录中。如果我的 url 是“www.website.com”并且我的应用程序在目录“sample”中,那么“www.website.com/sample”将执行 mvc 应用程序。
我的问题是我希望在您访问“www.website.com”时显示该应用程序,而不仅仅是“www.website.com/sample”。我可以访问 IIS 管理器,而且我确信有很多方法可以做到这一点。
做到这一点的最佳方法是什么?
对不起,如果这个问题没有意义(这里没有专家),但我知道 tomcat 侦听端口 8080 并且该 url 通常寻址到 80。有没有办法告诉 DNS url 应该指向 8080?或者我应该如何解决这个问题?
这看起来很简单,但我不能让它工作。
我有一个非常简单的网络服务器,只需要做两件事:
这不起作用:
RewriteRule ^$ http://localhost:4000
Run Code Online (Sandbox Code Playgroud)
从请求者的角度(即,在客户端的机器上),这将流量重定向回 localhost:4000。
我对 VirtualHost 的有限理解表明这是针对 atom.example.com 之类的,而不是 example.com/atom
我想我必须使用 ProxyReverse,但我找不到正确的组合。
更新:尝试由 Shane Madden 给出的 ProxyPass/ProxyReverse 建议会在错误日志文件中产生:
[Thu Mar 15 11:59:15 2012] [error] (13)Permission denied: proxy: HTTP: attempt to connect to 127.0.0.1:4000 (localhost) failed
[Thu Mar 15 11:59:15 2012] [error] ap_proxy_connect_backend disabling worker for (localhost)
[Thu Mar 15 11:59:17 2012] [error] proxy: HTTP: disabled connection for (localhost)
Run Code Online (Sandbox Code Playgroud)
(本地服务器肯定运行在127.0.0.1:4000)
脚本向我的 URL 发出 GET 请求,如下所示:
http://mydomain.com/cgi-bin/uu_ini_status_audios.pl?tmp_sid=b742be1d131c4d32237a9f1fcdca659e&rnd_id=0.2363453360320319
但是,我立即收到了 404 返回:
The requested URL /cgi-bin/uu_ini_status_audios.pl was not found on this server.
但是该脚本存在于我的服务器上,我可以看到该文件!它具有正确的权限(我肯定给了它 777)。它也归我的 apache 用户所有,并且属于 apache 组。
我错过了什么??
感谢您对此的任何帮助!
我以为它会是一个 htaccess(重写),但我不认为它是了。我尝试在其中放置一个 index.php 文件并尝试通过我的 URL 访问它,但我什至不能这样做!我试过这个:
http://mydoamin.com/cgi-bin/index.php- 同样的 404 错误!我在我的错误日志中得到了这个:
[Tue Sep 14 14:42:49 2010] [error] [client xx.xxx.xx.xxx] script not found or unable to stat: /var/www/vhosts/mydomain.com/cgi-bin
Run Code Online (Sandbox Code Playgroud)
访问日志文件:
xx.xxx.xx.xxx - - [14/Sep/2010:14:48:25 +0200] "GET /cgi-bin/index.php HTTP/1.1" 404 475 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.2.9) Gecko/20100824 Firefox/3.6.9 (.NET CLR 3.5.30729)" …
好的,一个示例网址是
http://www.mysite.com/?p=account&view=settings
所述pURI是一个常数。所有网址都有。
该view是许多可选的URI之一。
我试图理解 url 重写和正则表达式,但我只是不明白。我需要回去写代码,但不幸的是,我只是不断回来nginx.conf接受更多的惩罚。
我的目标是重写网址:
http://www.mysite.com/account/view/settings
我会向你展示我尝试过的东西,但它只是复制和粘贴了很多以前的例子,证明我在掌握正则表达式和 url 重写的概念方面是多么可悲。
如果有人可以花几分钟解释正则表达式部分,或者将我链接到一个很好的理解它的教程,我将不胜感激。
不,我不希望你为我做这项工作,但我谦虚地请求一些帮助来掌握重写的概念和在 nginx conf 中使用的变量。我可以看到一个叫做$uri,但不知道它是什么意思。我还需要添加一个正则表达式来否认在PHP脚本的直接访问/socket和/private,但允许通过AJAX访问。我确信我可以将学到的关于正则表达式的任何知识应用到该任务中。
我的 nginx conf 的位置块
location ~ \.(hh|php)$ {
fastcgi_keep_conn on;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~* .(png|gif|ico|css|js)$ {
expires 365d;
}
location ~ .(aspx|jsp|cgi)$ {
return 410;
}
location /socket {
return 405;
}
location /private {
return 405;
}
location / {
# include …Run Code Online (Sandbox Code Playgroud) 我在一个网站上工作,在那里我们有一个主要的重新架构。有一点可能有点挑剔,但我无法以某种方式看到标准。
当您在 URL 中使用带有 / 作为分隔符的真实单词时,您应该使用该类型的单数还是复数。所以
/user/fred
对比
/users/fred
SO 似乎使用“问题”、“用户”等,但我想知道是否有任何权威建议。
附注。我无法弄清楚这是否属于 SO SU 或 SF。如果你能算出它应该放在哪个桶里,请随意移动。
如果我在 DNS 中有以下记录:
hostname Record Type address
benmccormack.com A 216.10.244.61
www.benmccormack.com CNAME benmccormack.com
Run Code Online (Sandbox Code Playgroud)
当用户输入http://benmccormack.com时,他们希望在浏览器的地址栏中看到什么?http://www.benmccormack.com怎么样?我原以为我会在地址栏中看到http://www.benmccormack.com更改为http://benmccormack.com,但也许我误解了 CNAME 记录应该如何工作。
(注意:我大约 15 分钟前刚刚更新了我网站的 dns,所以可能这些更改还没有传播。)
我们有一个网站,它是我们主域的子域,例如site.example.com. 该网站的官方网址是http://site.example.com,但有些人一直将其称为www.site.example.com。
我有一个重定向规则可以重定向www.site.example.com到site.example.com,但我最终需要解释为什么这www.site.example.com是不好的做法(或者是一个坏主意),但我不知道如何。是否有任何指导方针或规则规定了有关域名的最佳实践,特别是子域的使用?
我在 ISA 服务器后面有一个 WSDL。WSDL 包括一个模式
<xsd:include schemaLocation="myschema.xsd"/>
但是,当通过 ISA 访问时,某些隐式映射会将服务器名称更改为应用程序名称“TEST”,如下面的 xsd:include 行所示
<xsd:include schemaLocation="http://TEST:8345/myservice?xsd=myschema.xsd"/>
可以使用 URL 访问 WSDL -
https://services.mycompany.com/myservice?wsdl
可以使用 URL 访问架构 -
https://services.mycompany.com/myservice?xsd=myschema.xsd
问题是 WSDL 中模式的翻译 URL 不正确。它需要是
<xsd:include schemaLocation="https://services.mycompany.com/myservice?xsd=myschema.xsd"/>
代替
<xsd:include schemaLocation="http://TEST:8345/myservice?xsd=myschema.xsd"/>
ISA 人员是否需要为此设置一些 ISA 规则(用于替换 WSDL 中的 URL)?他需要创建/更改什么规则?
url ×10
rewrite ×3
apache-2.2 ×2
url-routing ×2
asp.net-mvc ×1
cname-record ×1
domain-name ×1
http ×1
iis ×1
iis-7 ×1
isa-server ×1
mod-rewrite ×1
nginx ×1
permissions ×1
port ×1
redirect ×1
regex ×1
subdomain ×1
tomcat ×1