Articles of mod rewrite

破的apache .htaccess(mod_rewrite)

嘿,我在我们的一台机器上遇到了Apache mod_rewrite的configuration问题。 有没有人遇到/克服任何这些问题。 URL1( http://www.uppereast.com )没有被redirect到URL2( http://www.nyclocalliving.com )。 这肯定在我的testing环境中本地主机地址被重写为URL2(RewriteRule ^ http://upe.localhost $ http://www.nyclocalliving.com )。 我试图让所有的redirect规则工作(2200 +),但如果我使用更多的1000或更多的规则,“ http://www.nyclocalliving.com ”网站遇到服务器错误。 A).htaccess文件 – 我尝试了在本地环境中工作的最简单的方法 75 # Various rewrite rules. 76 <IfModule mod_rewrite.c> 77 RewriteEngine on 78 79 # BEGIN new URL Mapping rules 80 #RewriteRule ^http://www.uppereast.com/$ http://www.nyclocalliving.com … 2307 #RewriteRule ^http://www.uppereast.com/zipcodechange.html$ http://www.nyclocalliving.com/zip-code-change 图。 1 B)/ var / log […]

帮助mod_rewite规则

我有一个规则,将获得从URL的每个文件的扩展名。 我需要匹配所有的JPG,GIF,PNG和BMP文件。 这是一个水印应用程序。 目前只能匹配jpg和jpg。 有人可以帮我匹配所有四个扩展? 这是我目前所拥有的。 RewriteRule ^(.*\.[jJgG].*)$ /test.php?i=$1

mod_rewritereplace/ with _

当然,我只是想在这里明显的东西,但我有这个: RewriteCond %{SCRIPT_FILENAME} !-f RewriteCond %{SCRIPT_FILENAME} !-d RewriteRule ^(.*)/(.*)$ $1_$2 [N] RewriteRule ^(.*)$ $1.php [QSA,L] 我想重写/ shop / basket到/shop_basket.php。 相反,如果我去/我得到和内部服务器错误,如果我去/ shop / basket它陷入了一个无限循环。 有任何想法吗?

redirect导致HTTP 400(错误请求)错误(Apache 2.2)的请求

由于Wordpress中存在安全漏洞,我的一些post被重命名为: http://**MYSITE**/2008/08/21/**POSTNAME**/%&%28%7B$%7Beval%28base64_decode%28$_SERVER%5BHTTP_EXECCODE%5D%29%29%7D%7D%7C.+%29&%/ 我已经解决了问题,升级了Wordpress,并且升级了我的Web服务器到Apache 2.2.3。 问题是,现在我有一堆在谷歌索引和链接到其他网站的url。 谷歌最终将他们从他们的索引中删除,但在此期间,我想重写错误的URL来纠正url。 我已经尝试了下面的mod_rewrite规则,但它似乎并没有工作。 看起来好像Apache看到请求为“坏”,只是返回一个HTTP 400错误,而不咨询mod_rewrite(或mod_redirect)。 这是我试过的规则: RewriteRule ^(20[0-9]{2}/[0-1][0-9]/[0-3][0-9]/[^/]+)/.*base64.*$ http://***MYSITE***/$1 [L,R=302,QSA] 当我在正则expression式工具中testing时,它匹配,但似乎没有任何区别于Apache。 有没有人遇到过这个问题? 任何可能的解决 谢谢! 克里斯

Apache重写规则和特殊字符

我有一个服务器,其中一些文件的名称中有一个实际的 %20 (它们是由一个自动化的工具来处理空间,我不能做任何事情)。 这不是空格:它是“%”,后跟“2”,后面是“0”。 在这个服务器上,有一个Apache Web服务器,并且有一些网页链接到这些文件,使用他们的名字在像http://servername/file%20with%20a%20name%20like%20this.html ; 那些页面也是由同一个工具生成的,所以我(再次!)对此无能为力。 对所有文件,页面和URL进行全面的search和replace是不成问题的。 问题是:当Apache被上面的URL调用时,它(正确地)将“%20”翻译成空格 ,然后当然找不到这些文件,因为它们没有实际的空格他们的名字。 我该如何解决这个问题? 我发现比使用像http://servername/file%2520name.html这样的URL更好,因为Apache会将“%25”转换为“%”符号,从而build立正确的文件名。 我尝试使用Apache重写规则,我可以用这样的语法成功replace空间: RewriteRule (.*)\ (.*) $1-$2 问题是:当我尝试用“%2520”序列replace它们时,这不会发生。 如果我使用 RewriteRule (.*)\ (.*) $1%2520$2 那么得到的URL是http://servername/file520name.html ; 我也尝试了“%25”,但是我只得到了“5”。 它看起来像最初的“%2”有点丢弃。 问题: 我如何build立这样的正则expression式来replace“%2520”的空格? 这是我能处理这个问题的唯一方法吗(除了像我所说的那样,不能完全search和replace)或者你有什么更好的想法吗? 编辑: 转义是关键,它使用这个规则: RewriteRule (.*)\ (.*) $1\%2520$2 但只有在初始url中有一个 “%20”的情况下才有效; 如果有多个,我会得到一个“内部服务器错误”。 看起来我差不多有…请帮忙:-) 编辑2: 我能够使用以下规则使它工作两个空格: RewriteRule (.*)\ (.*)\ (.*) $1\%2520$2\%2520$3 这足够满足我的需求,因为工具生成的URL最多只能包含两个“%20”; 但出于好奇:有没有办法使这个工作与任何数量的空间? 它与第一条规则一起使用,如果用正常字符replace任意数量的空格,则只有在涉及特殊字符时才会发生此问题。

将子域redirect到新域的子域

我拥有2个域sio-india.org和sio-india.com 我想要做的是redirect从第一个域到第二个域的所有子域。 例如。 home.sio-india.org到home.sio-india.com,但我不想redirectsio-india.org sio-india.com,也不想redirectwww.sio-india.org到www.sio-india.org, india.com 请帮忙 我在htaccess中使用这个代码,但它不工作。 RewriteCond %{HTTP_HOST} ^(.*)sio-india\.org$ [NC] RewriteRule ^(.*)$ http://%1sio-india.com/$1 [R=301,L] 请帮我,我卡住了。

htaccess .html重写exception

好吧,我需要添加一个exception! 我怎样才能做到这一点? 我目前使用RewriteRule ([^.]+).html $1 [R=301,L]来重写所有的.htmlurl 我确实需要google.htmlvalidation文件的例外。 我怎样才能设置这个exception? 我试过这个,但它不工作。 有任何想法吗? RewriteCond $1 !^(google022e525bdb654772.html|googleb5e92d18c6640aeb.html)/? 我试了 RewriteCond $1 !^(google022e525bdb654772.html|googleb5e92d18c6640aeb.html)

需要暂时禁用用户的Apache网站

我有一个网站,这是我们devise的系统的后端。 通常情况下,我们会去不同的场所,通过互联网连接后端系统,继续进行。 我们现在必须去一个字面上的场地,没有互联网接入。 我已经在本地机器上运行了系统,没问题,但是我想让用户不能访问互联网上的主站点,但是告诉他们发生了什么事情。 目前我已经有了一个.htaccess的根目录: Options +FollowSymlinks RewriteEngine On RewriteBase / RewriteRule ^(.+)$ http://www.example.com/offline.php [R,L] 哪一半工作,但浏览器不喜欢它: Firefox已经检测到服务器正以一种永远不会完成的方式redirect这个地址的请求。 总结一下,我想要input任何url: http://www.example.com/ http://www.example.com/dir1/ http://www.example.com/dir1/?area=value etc. 最终结束 http://www.example.com/offline.php 有任何想法吗? 谢谢,凯文

build立一个本地DNS服务器

我在本地networking上运行Apache2的networking服务器。 我可以通过http:// myserver /访问它。 我有多个Web应用程序在服务器上的文件夹,所以当我想要访问app1或app2我把http:// myserver / app1或http:// myserver / app2 我想设置我的服务器的方式,我可能能够访问应用程序,如http://app1.myserver或类似的东西。 我敢打赌,为了实现这一点,我需要设置一个本地DNS服务器或修补程序类似mod重写。 你会select什么方法? 我既没有DNS服务器也没有mod重写的经验。 感谢您的回答。

带有mod_rewrite模块的Apache web服务器

我安装了一个多站点的WordPress,它有一个我需要的东西:“漂亮的固定链接”。 所以,“漂亮的固定链接”可以在下面find: * Apache web server with the `mod_rewrite` module * Microsoft IIS 7+ web server with the URL Rewrite 1.1+ module and PHP 5 running as FastCGI * Microsoft IIS 6+ using ASAPI_Rewrite * Lighttpd using a 404 handler or mod_rewrite (see See Also) 我使用托pipe,只是想知道(testing)如果托pipe服务器支持这个mod_rewrite或不。 有没有办法find它没有pipe理员的帮助?