在我的conf文件中,我想将所有的URL从一个子域(blog.domain.com)重写到根域,删除尾部的斜杠(如果可用),并附加“.html”扩展名。 blog.domain.com/my-first-link/ –> www.domain.com/my-first-link.html 但是我不想为子域的根添加“.html”扩展名 blog.domain.com/ –> www.domain.com
这是两个重写规则: 这个工作 rewrite ^/knowledgebase/([0-9]+)/[a-z0-9_-]+.html$ /./knowledgebase.php?action=displayarticle&id=$1 last; 这一个不 rewrite ^/announcements/([0-9]+)/[a-z0-9_-]+.html$ /./announcements.php?id=$1 last; 就我所知,两者没有区别。 公告要重写的url是: /announcements/2/New-Site-Design.html 而且应该改写成: /announcements.php?id=2 与知识库相比,我实在看不出公告是如何工作的。 任何提示将非常感谢。 ===添加configuration文件 – 我的域名 #HTTP server { listen 80; server_name portal2.website.co.uk website.co.uk www.website.co.uk; access_log /var/log/nginx/website.access_log; error_log /var/log/nginx/website.error_log; root /var/www/website.co.uk/www; index index.php index.htm index.html; location ~ .php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/website.co.uk/www$fastcgi_script_name; include fastcgi_params; } rewrite […]
我在公司获得了一台虚拟机来安装networking软件。 但是,我遇到了一个奇怪的问题,如果PHPvariables匹配特定的模式,它将被服务器覆盖(重写)。 什么可以重写这样的PHPvariables? 以下是一个完整的独立脚本。 <?php foo = 'b.domain.com'; echo $foo; // 'dev01.sandbox.b.domain.com' $bar = 'dev01.sandbox.domain.com'; echo $bar; // 'dev01.sandbox.sandbox.domain.com' $var = 'b.domainfoo.com'; echo $var; // 'b.domainfoo.com' (not overwritten because it didn't match whatever RegEx has been set) ?> 基本上任何包含一个子域名和匹配域名的variables都会被重写。 这不是mod_rewrite能够触及的东西,所以它必须是在parsing出PHP的服务器级别的东西,并重写一个string,如果它匹配正则expression式。
我的网站是一个电子商务网站。 所有url都是dynamic的,例如“my_domain / a.php”,“my_domain / a.php?id = 1”,“my_domain / b.php”,“my_domain / b.php?id = 3”等。 我需要像“my_domain / a.html”,“my_domain / b.html”,“my_domain / c.html”,“my_domain / d.html”等静态url。 我在.htaccess文件中有点弱。 什么我添加到我的.htaccess文件o实现该结果?
我在我的业务networking上运行一些networking摄像头(带embedded式服务器),这些networking摄像头可以通过networking访问,我想制作Apache可以路由到他们运行的端口的“漂亮”的URL,所以我的妻子不需要记住端口号码。 例如,其中一台摄像机是本地IP 192.168.0.200,而摄像头服务器(我正在使用安卓手机上的IP摄像头 )正在端口7890上运行。我将端口转发给我的路由器,我可以通过networking访问它mydomain.com:7890。 我想要做的就是给它一个像mydomain.com/cam/1一个不错的URL,并有Apache路由到正确的LAN IP /端口。 这在我的httpd.conf也可以正常工作: ProxyPass /cams/1 http://192.168.0.200:7890 ProxyPassReverse /cams/1 http://192.168.0.200:7890 我可以在浏览器中键入mydomain.com/cam/1并获取它提供的html页面。 问题是,它最初服务的页面只是一堆链接,即以下内容: 每个链接都是相对于页面的根。 例如,我通常使用第三个链接,“使用Java浏览器插件”。 这个链接的URL是/java.html 。 如果我使用“绝对”urlmydomain.com:7890/java.html , mydomain.com:7890/java.html预期工作。 但是启用Proxying后,生成的链接是mydomin.com/java.html ,我的根文件夹中没有java.html(即使是我做的,它将是与networking摄像头不同的文件)。 所以我的问题是,如何继续拥有这些漂亮的url,但是在被网页内部的url(或任意的子url)仍然遵守/cams/1偏移量,这样它们都能正常工作?
我有像这样的url: index.php?q=123&w=456&e=789 我需要重写他们的东西,如: index/123/456/789 而不使用“如果”。 到目前为止我已经尝试过: location / { rewrite ^/index.php\?q=(.*)&w=(.*)&e=(.*)$ /index/$1/$2/$3; } 但它不起作用。 有任何想法吗?
我想重写一些URL在Nginx中,我有一个像这样的URL的WordPress的网站: http://mydomain.com/en/my-content 如何删除en/ with nginx? 非常感谢。 彼得
在域my.test.org我有以下设置: 运行在端口8080上的Tomcat6 在操作系统级别从端口80redirect到8080(使用NAT) 在http://my.test.org/myapp应用程序,语义Web前端)中部署在Tomcat中的应用程序。 问题是myapp的正确URL应该是http://my.test.org/prefix/myapp :应用程序发布以http://my.test.org/prefix/myapp为前缀的链接数据。 由于这个原因,它不会在http://my.test.org/myapp工作。 换句话说,我需要以透明的方式重写URL,而不用redirect。 我尝试将应用程序部署在webapps (本地$CATALINA/webapps/prefix/myapp )的子文件夹中,但没有运气。 在http://my.test.org/prefix/myapp上部署应用程序会是一个很好的解决scheme吗? 感谢任何提示!
用下面的命令下载,为什么它不能下载那个文件? wget http://download.oracle.com/otn-pub/java/jdk/6u35-b10/jdk-6u35-linux-i586.bin 下面的命令起作用,但是AuthParam在一段时间后可能不工作,为什么? wget http://download.oracle.com/otn-pub/java/jdk/6u35-b10/jdk-6u35-linux-i586.bin?AuthParam=1346955572_27e44512fe8ef5cb920c4c329e5f0fd8 这个AuthParam选项是如何实现的? 为什么我不能没有这个参数下载? 为什么我只能得到这个参数使用资源pipe理器? 在处理wget请求时重写oracle服务器中使用? 为什么同一个命令在一个小时后不工作,AuthParam的值是否过期? 那么服务器如何检查AuthParam的值是否过期 ? wget http://download.oracle.com/otn-pub/java/jdk/6u35-b10/jdk-6u35-linux-i586.bin?AuthParam=1346955572_27e44512fe8ef5cb920c4c329e5f0fd8 –2012-09-07 03:51:01– http://download.oracle.com/otn-pub/java/jdk/6u35-b10/jdk-6u35-linux-i586.bin?AuthParam=1346955572_27e44512fe8ef5cb920c4c329e5f0fd8 Resolving download.oracle.com… 23.67.251.50, 23.67.251.57 Connecting to download.oracle.com|23.67.251.50|:80… connected. HTTP request sent, awaiting response… 403 Forbidden 2012-09-07 03:51:01 ERROR 403: Forbidden. @KJ-SRS就是那种用来判断AuthParam是否正确的CGI程序? 是可以纯粹使用wget命令下载jdk包,而不需要在资源pipe理器中获取AuthParam wget -O jre-6u35-linux-i586.bin http://javadl.sun.com/webapps/download/AutoDL?BundleId=68284无法得到jdk 🙁 wget -O jre-6u35-linux-i586.bin http://javadl.sun.com/webapps/download/AutoDL?BundleId=68284 –2012-09-07 12:27:37– http://javadl.sun.com/webapps/download/AutoDL?BundleId=68284 Resolving javadl.sun.com… 137.254.16.64 […]
我在使用ARR在IIS 7中设置反向代理出站URLredirect时遇到了问题。 该域名有2个入站URL重写和1个出站URL重写。 入境的工作正常,我没有看到他们的任何问题。 但是,出站redirect似乎每次启用时都会使应用程序池崩溃。 它会一直崩溃,直到我禁用出站规则。 我认为这可能是我的redirect中的某种循环,但我不确定。 我对自己的正则expression式不太熟悉,而且在网上search也找不到太多的东西。 以下是可以使用的两个入站redirect: <rule name="Rule1" enabled="true" stopProcessing="false"> <match url="^blog/$" /> <serverVariables> <set name="HTTP_ACCEPT_ENCODING" value="0" /> <set name="HTTP_X_FORWARDED_HOST" value="domain.com" /> </serverVariables> <action type="Rewrite" url="http://blog.domain.com" appendQueryString="True" /> </rule> <rule name="Rule2" enabled="true" stopProcessing="false"> <match url="^blog/(.*)" /> <serverVariables> <set name="HTTP_ACCEPT_ENCODING" value="0" /> <set name="HTTP_X_FORWARDED_HOST" value="domain.com" /> <set name="HTTP_X_FORWARDED_FOR" value="{REMOTE_ADDR}" /> </serverVariables> <action type="Rewrite" […]