指向相同cPanel帐户的多个别名域共享相同的.htaccess文件。 只有在以下情况下,我需要一个特定于域的规则,将所有来自aliasdomain.comstream量redirect到https://www.domain1.com 。 HTTP_HOST目前是aliasdomain.com (有或没有WWW和http / https) 排除文件夹/medias/ – 它仍然可以从aliasdomain.com访问 排除所有*.jpg , *.jpeg , *.png和*.gif文件(即使文件位于aliasdomain.com根目录中) 总是redirect到https://www.domain1.com root,没有通配符redirect,也没有redirect到非ssl http domain1.com需要被排除,所以如果相同的.htaccess文件是在domain1.com它不会干涉。 我试图适应在StackOverflow上find的各种代码片段,但失败了可怕得到它的工作:(我问了一个问题,但MODS告诉我要问ServerFault,所以我在这里…帮助将非常感激!
我有一个nginx + Apacheconfiguration运行。 我对nginx非常新,我有相当长的时间来学习它。 首先我想做一个基本的重写。 根据我的理解,当nginx被用作反向代理时,来自apache的.htaccess仍然可以工作。 可悲的是 – 我的理解不完全正确 – 有些部分是有效的,有些则不是。 所以我试图用.htaccess做一个基本的重写 RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^/?index.* /fp/ [P] 我发现在.htaccess中使用[P]标志而不是正常的重写 – 会导致无法find/index.html的错误(在整个站点上没有任何index.html如此清晰它不能被发现)。 我也尝试过使用[L]标志,而不是像我期望的那样默默转发,而是做了一个redirect,所以用户可以在地址栏中看到/ fp /而不是我正在寻找的结果。 所以 – 我把redirect移到了nginxconfiguration。 这似乎工作正常。 我做的nginxredirect是非常基本的使用if语句 if ($uri = '/'){ rewrite / /fp/ break; } 这个redirect只会redirect/不在/index.php或其他任何文件上。 接下来我有一个名为/login.php的文件。 我想转发用户到https://如果通过http://访问 所以我试图用$_SERVER['REQUEST_SCHEME'];做一个apachescheme检查$_SERVER['REQUEST_SCHEME']; 问题是 – 这是返回http是否其https://或http:// login.php在/ 所以对于初学者来说,我怎么才能让httpredirect到https只在login.php页面上。 我也应该注意到我试图做一个从httpredirect到https使用.htaccess,但作为服务器返回http和从来没有https导致无限循环。 除此之外,为什么apache的.htaccess [P]标志导致searchindex.html,并且为什么silectredirect突然公开? 如果我需要显示我的configuration […]
我正在尝试编写重写规则来阻止某些特定模式的URL。 请求如下所示,如Apache日志中所示。 "GET /mysecure/Docs?cb=20414624755 HTTP/1.1" 200 881107 "-" "Mozilla/5.0 (Windows NT 6.1; rv:53.0) Gecko/20100101 Firefox/53.0" 我想用QUERY_STRING cb=20414624755来阻止所有请求。 为此我写了以下规则 RewriteCond %{QUERY_STRING} "^cb=20414624755$" [nocase] RewriteRule ^\/mysecure\/Docs$ – [forbidden,last] 但是请求没有被阻塞。在apache访问日志文件中,我可以看到具有这些模式的请求的200 Response code 。 请build议。
对于一个托pipe域名的networking服务器,我们希望te实现一个redirect,任何域上的任何子域都会redirect到它的www。 当量。 sub1.domain1.com -> www.domain1.com sub2.domain5.com -> www.domain5.com anothersub.moredomains.com -> www.moredomains.com etc 我一直无法find覆盖通配符子域和域的重写规则。 任何帮助是极大的赞赏!
我的重写规则是工作和redirect请求像/versioned/1234/images/foo.gif到/images/foo.gif,但它似乎并没有设置set_expires_header环境variables,因为标题不被追加。 如果我取消注释显式设置环境variables的行,则会设置标题。 我究竟做错了什么? 有一个更好的方法吗? 我希望能够使用这两个URL访问文件,但只有在通过版本化URL访问文件时才添加头文件。 <VirtualHost *:80> ServerName dev.example.com DocumentRoot /var/www/html/dev <Directory "/var/www/html/dev"> Options FollowSymLinks ExecCGI AllowOverride All Order allow,deny Allow from all SetEnvIf Request_URI versioned set_expires_header RewriteEngine on RewriteRule ^versioned/[^/\.]+/(.*)$ /$1 [E=set_expires_header:true,L] #SetEnv set_expires_header true Header append Expires "access plus 1 year" env=set_expires_header Header append Cache-Control "public" env=set_expires_header </Directory> </VirtualHost>
也许这是一个noob问题,但通常我不必处理这些东西。 我刚刚安装了mod_proxy的Apache,我想用它作为转发http代理。 我想要做的是,如果一个特定格式的请求被一个Web客户端执行,那么请求将被发送到另一个目的地URL,而客户端不会注意到它。 不pipe域名是什么,当域名之后直接包含“mysign”时,它应该被发送到目的地,我在我的configuration中指定。 例如,所有跟随的请求应发送到“ http:// localhost / mysign / ”,而不是普通的目的地: http://www.gooogle.com/mysign http://www.another.com/mysign http://web.dev.us/mysigne/total?p=2 以下要求不应该通过: http://mysign.not.com/test http://wwww.ende.com/do/not/mysign 我怎样才能configuration? 更新:我不想发送redirect到客户端。 客户端浏览器不应该注意到,响应是由另一个端点发送的,而不是已经完成的。
我遇到了各种问题,试图将自定义ErrorDocuments添加到我的服务器。 我使用代理平衡器来共享两个Zope实例之间的负载和一些简单的重写规则,以将我的域映射到本地zope实例。 我很确定Zope 不是问题,但已经提到它解释平衡器redirect到什么。 我已经尝试了一些build议,但是我能得到的“最接近的”包含在下面,并导致错误: “Firefox已经检测到服务器正以一种永远不会完成的方式redirect这个地址的请求。” 其他变化导致: “由于维护停机或容量问题,服务器暂时无法处理您的请求,请稍后重试。 此外,尝试使用ErrorDocument处理请求时遇到503服务暂时不可用错误。 如果我包括一个简单的 ErrorDocument 503你好 它呈现很好。 我究竟做错了什么? 我担心这可能是与平衡器/重写获取自定义错误的方式? 或者说我的DocumentRoot设置不正确? 这个configuration的其余部分运行正常,没有自定义错误。 <VirtualHost> VirtualHost XXX.XXX.XXX.XXX:80> ServerAdmin webmaster@localhost ServerName sub.domain.com <Proxy balancer://domain_dev> BalancerMember http://XXX.XXX.XXX.XXX:81 BalancerMember http://XXX.XXX.XXX.XXX:82 </Proxy> RewriteEngine On RewriteRule ^(.*)$ balancer://domain_dev$1 [P,L] <Location /> Order allow,deny Allow from all </Location> </VirtualHost> Listen 81 Listen 82 <VirtualHost XXX.XXX.XXX.XXX:81> CustomLog /var/log/apache2/domain-dev-1.log combined […]
我有一个在CentOS 5-Plesk-Apache服务器上托pipe的网站。 我最近添加了第二个站点到服务器dynamic内容服务。 我已经build立了很好的图像重写规则(静态内容)。 模块重写静态服务器中的URI以指向原始文件。 问题是,第一个网站已安装minify( http://code.google.com/p/minify/ )脚本,但我不知道如何编写一个modwrite规则,如果我有: <style src='http://www.mystaticserver.com/min/f=style.css'> 在某个地方,这个变成了这个URL的文件 http://www.myserver.com/min/f=style.css 有任何想法吗? 先谢谢你
是否可以通过mod_rewrite访问POSTvariables? 我正在尝试确定是否可以使用Apache2.2和mod_rewrite执行redirect,其中重写规则将POST请求与请求相关联,并使用这些值通知最终目标。
我有2个应用程序在JBoss上运行,并在前台安装了Apache服务器。 这些应用程序目前正在被Apache代理: ProxyPass /App1 http://mydomain.com:8080/App1 ProxyPassReverse /App1 http://mydomain.com:8080/App1 ProxyPass /App2 http://mydomain.com:8080/App1 ProxyPassReverse /App1 http://mydomain.com:8080/App1 我有2个子域: app1.mydomain.com app2.mydomain.com 所以我现在可以访问我的应用程序: http://app1.mydomain.com/App1 http://app2.mydomain.com/App2 我如何configurationApache,以便可以通过以下方式提供这些应用程序: http://app1.mydomain.com http://app1.mydomain.com 有没有可能用mod_rewrite规则做到这一点? 谢谢!