Articles of 重写

IIS重写子域和不存在的文件的规则

build立: 我知道如何使用重写规则将url路由到路由脚本(如router.php)。 我知道如何使用重写规则将包含子域的URL路由到文档根目录中的子文件夹。 我真正需要的是把这两个概念结合起来。 如果我拥有http://sub.example.com/api ,那么如何获取router.php来处理请求,就好像它最初是http://example.com/sub/api ? 路由器重写规则似乎没有得到子域重写规则的结果(子域离开只是/ api的URL的末尾)。

把一个目录的nginx规则重写到另一个域/子域

我已经设置了下面的nginx重写规则。 但似乎没有工作, * location /images { rewrite ^(.*)$1 http://sub.domain.com/$1 permanent; } * 为图像我试图redirect到另一个域。 我怎么能做这个工作?

在web.config中重写URL空间最后的规则?

我正在进行重写过程。 我一直在坚持一个观点。 <rule name="Uk3" stopProcessing="true"> <match url="^activities/exploring/tours/tabid/3422/id/5205/k/([a-z0-9A-Z-\s]+)/p/1/nickis-beach-rides.aspx$" ignoreCase="true" /> <conditions logicalGrouping="MatchAll" trackAllCaptures="false"> <add input="{HTTP_HOST}" pattern="^(www.)?abc.co.uk$" /> </conditions> <action type="Redirect" url="/activities/exploring/tours.aspx" /> </rule> 上述规则是做什么的: 它与“activities / explore / tours / tabid / 3422 / id / 5205 / k /”相匹配,并且它可能包含任何后面的内容,直到“/p/1/nickis-beach-rides.aspx”。 对于除以下url以外的所有url都可以正常工作: http://www.abc.co.uk/activities/exploring/tours/tabid/3422/id/5205/k/enjoy%20your%20morning%20cofee%20and%20evening%20cocktails%20on%20/p/1/nickis-beach-rides.aspx 其中包含“享有20%20%20%20%20%20%20%20%20%20%20%”的空间作为阻止此规则起作用的最后一个字符, 任何人有任何想法如何添加上面的URL来相应地工作?

.htaccess重写规则不重写别名

我正在尝试为备用子域名提供不同的robots.txt,以便使域名分片,以便Google不索引m1.example.com和m2.example.com。 /etc/httpd/sites-enabled/www.example.com Alias /robots.txt /var/www/html/robots.txt …. ServerName www.example.com ServerAlias m1.example.com m2.example.com …. DocumentRoot /var/www/www.example.com/public /var/www/www.example.com/public/.htaccess RewriteEngine on RewriteCond %{HTTP_HOST} !=www.example.com [NC] RewriteRule ^/robots\.txt$ /var/www/html/robots-disallow.txt [L] …. 当我点击m1.example.com/robots.txt时,它会显示robots.txt而不是robots-disallow.txt。 如果我在/etc/httpd/sites-enabled/www.example.com中将重写规则添加到我的虚拟主机,它可以正常工作,但不会在.htaccess

如何在Apache Web Server中添加redirecturl的重写规则

我正在尝试为我的邮件服务器configurationoutlook和thunderbird的自动发现function。 我已经添加了一个虚拟主机条目以下重写规则redirectconfig-v1.1.xml到thunderbird.php和autodiscover.xml到outlook.php NameVirtualHost 192.168.0.153:80 <VirtualHost 192.168.0.153:80> ServerAdmin [email protected] DocumentRoot /var/www/webroot ServerName autconfig.test.int RewriteEngine On RewriteRule ^/mail/config-v1\.1\.xml$ thunderbird.php [NC,L] RewriteRule ^/autodiscover/autodiscover\.xml outlook.php [NC,L] </VirtualHost> 任何人可以告诉我什么是错误,因为我得到错误404没有find? 我还没有做任何.htaccess文件

我如何删除一个段而不影响另一个

寻找帮助创build一个IIS重写规则。 我们有一个可分发的产品,安装在一个未知的基地url 我们想要阻止/app ,并使用以下操作: <remove segment="app"/> 然而,现在有一个新的path( /frontend/app/js/files.js ),我们的命令也阻止了这个文件夹中的文件。 我如何更新规则只阻止/app而不是阻止/frontend/app/js 谢谢!

在Nginx中重写(不redirect)URL

我觉得我觉得和大多数情况有点不同。 这与我之前遇到的任何情况都是完全不同的: 我正在为希望/需要保留对其规范域的完全控制权的客户build立一个网站。 他们不是简单地将www.theirdomain.com和theirdomain.com指向我的服务器IP,而是将stream量路由到他们,让他们的Big-IP设备通过client.mydomain.com将这些stream量发送给我们。 我不知道大IP,但我怀疑/假设这是一个重写,用户将只能看到他们的theirdomain.com 。 另外,客户端有两个子域名,他们的login页面将由我的应用程序提供,他们的信息系统团队不希望与他们有任何关系。 他们只是更新这些域的DNS指向我的服务器。 但是,login页面在client.mydomain.com/path/to/landing/page 。 因为我们不希望最终用户看到client.mydomain.com ,但是,我正常的301redirect到回答URL的过程似乎会产生一些不必要的stream量: 我的服务器回答sub.theirdomain.com的请求 我的服务器不是简单地回答请求,而是redirect到www.theirdomain.com/path/to/landing/page 他们的Big-IP把他们发回给我的服务器(他们刚刚离开的那个服务器),但是有了正确的域名。 我的服务器呈现内容。 在第2步中,我可以简单地将url重写为www.theirdomain.com并直接提供内容,而不必redirect到设备上。 更好的想法也欢迎。 正如我所说,这不是我以前遇到的,我正在寻找的select。

pipe理nginx重写在项目文件夹中

我试图找出如何从Apache迁移到nginx,保持重写规则的灵活性,为开发人员改变。 这是我们目前的设置: 我们有一个.htaccess文件在项目的根文件夹(以及在一些子文件夹中) 在这个.htaccess文件中,开发人员可以定义重写永久链接到特定脚本(我们不使用“全局”index.php文件) 这个.htaccess文件包含在我们的Git仓库中,因此添加/更改重写不需要开发人员更改服务器configuration(他没有权限) 据我所知,目前还没有像nginx一样的.htaccess目录。 那么我们怎么可能解决这个问题呢? 我们是否必须使用“全局”index.php文件来解决重写? 这可能会大大降低总体performance。 PS您可能已经注意到,我以前从未使用过nginx。

通过代理远程Apache重写

我们正在尝试向外部站点写入反向代理规则。 ProxyRequests On ProxyRemote https://abc.company.com http://proxy.company.com:80 ProxyPass /_vti_bin/AccountList.asmx/ https://abc.comany.com/_vti_bin/AccountList.asmx/ ProxyPassReverse /_vti_bin/AccountList.asmx/ https://abc.company.com/_vti_bin/AccountList.asmx/ 由于这是一个内部应用程序,我没有从我的apache http服务器直接连接到外部网站。 我正在尝试通过公司代理。 但它不工作。 什么是解决这个问题的理想方法?

我如何拒绝访问OpenLiteSpeed中的文件夹类似于Apache的方式呢?

我试图拒绝访问OpenLiteSpeed v1.4.2托pipe的网站的文件夹,但我遇到了麻烦。 我认为.htaccess在OpenLiteSpeed中不受支持,所以我无法在文件夹中放入一个带有Deny From All的.htaccess文件。 假设我试图隐藏的文件夹的绝对path是/usr/local/lsws/Example/html/hideme 。 我已经尝试在OpenLiteSpeed面板的虚拟主机的重写规则,但没有运气: <Directory ~/hideme> Deny from all </Directory> <Directory ~/hideme/(.*)$> Deny from all </Directory> <Directory /usr/local/lsws/Example/html/hideme> Deny from all </Directory> 有谁知道我可能会做错什么,我怎么可以拒绝访问这个文件夹?