我使用nginx作为Rails的前端。 所有页面都caching为磁盘上的.html文件,如果存在,nginx将提供这些文件。 我想发送正确的MIMEtypes的饲料( application/rss+xml ),但我迄今的方式是相当丑陋的,我想知道是否有一个更干净的方式。 这是我的configuration: location ~ /feed/$ { types {} default_type application/rss+xml; root /var/www/cache/; if (-f request_filename/index.html) { rewrite (.*) $1/index.html break; } if (-f request_filename.html) { rewrite (.*) $1.html break; } if (-f request_filename) { break; } if (!-f request_filename) { proxy_pass http://mongrel; break; } } location / { root /var/www/cache/; if […]
我刚刚注意到,schoolmate.r09.railsrumble.com似乎正在对我的一个域名agilegrad.com进行重写。 这是一种讨厌的,因为该网站是谷歌search我的域名时,地址栏保持作为schoolmate.r09.railsrumble.com当在下面的链接的顶部命中。 我希望将referrervariables中的schoolmate.r09.railsrumble.comredirect到agilegrad.com,但是在我的vile config for agilegrad.com中的以下内容不适用于我: RewriteEngine on RewriteCond %{HTTP_REFERER} railsrumble RewriteRule ^/(.*) http://www.agilegrad.com/$1 [L,R=301] 有了这个,我看到一堆redirect在我的访问日志中,但只有静态文件(cs,javascript)。 这是我第一次尝试使用mod_rewrite,所以我甚至不知道我是否能够完成我想要的,也就是完全redirect到我的域,并让用户看到他们在agilegrad。 COM。
我想redirectindex.php,以及任何其他有效的默认文件(如index.html,index.asp等)的文件根(其中包含index.php),像这样的东西: RewriteRule ^index\.(php|htm|html|asp|cfm|shtml|shtm)/?$ / [NC,L] 但是,这当然给了我一个无限的redirect循环。 什么是正确的方法来做到这一点 ? 如果可能的话,我希望在开发和生产环境中都有这个工作,所以我不想指定一个明确的URL,比如http://www.mysite.com/作为目标。 谢谢!
我正在创build一个网站。 我在.htaccess文件中有这样的代码: RewriteEngine On RewriteRule ^/([0-9][0-9])/$ /redirect.php?id=$1 但是当我去,例如/ ASEi说404未find问题是什么?
我有一个遗留在Apache上的网站。 它有许多网页位于公共Web根目录及其子文件夹中。 例如,可以说这些是我的web根目录中唯一的文件和文件夹: publicDocs/ directorywith_no_defaultfile/ some-legacy-flat-page.htm .htaccess index.php some-legacy-flat-page.htm 我想开始使用Zend MVC的一些较新的网页。 我有一个.htaccess国防部重写规则工作,以便任何请求不存在的文件被发送到由MVC引导文件(/index.php)处理。 使用我目前的设置,以下types的请求被成功路由到“/index.php”,即MVC引导程序: 的index.php /等等 / directorywith_no_defaultfile /布卢 旧的传统(平面)页面成功地提供以下types的请求 /some-legacy-flat-page.htm /directorywith_no_defaultfile/some-legacy-flat-page.htm 但是,当我请求一个不存在的文件是这样一个目录: / directorywith_no_defaultfile 要么 / directorywith_no_defaultfile / 而不是路由到MVC的靴子,我得到一个错误: Forbidden You don't have permission to access /directorywith_no_defaultfile/ on this server. Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to […]
我正在用apache创build一个反向代理框,我对此有一些疑问: 我怎么能加载一些文件,说robots.txt,而不是实际的主机反向代理框? 允许在代理服务器上加载.htaccess是明智的吗? 他们代理盒子的重写规则呢? 我应该把我的重写规则放在哪里? 在虚拟主机或.htaccess? 如果我允许从代理框加载.htaccess,是不是有问题有2 .htaccess? 我想只有一个会被加载。 那么在http上的反向代理网站以及https呢? 我需要一些特殊的设置? 创build反向代理时是否有任何问题需要注意? 我已经知道使用mod_proxy_html来更正html文件中的链接。
我想为我的托pipe设置一个特定的环境,但不知道什么是最好的方法。 我想要一个名为example.com的域名。 * The www. should contain the main website (hosting site) * every subdomain ex. customer1.example.com needs to be redirected to a subfolder 我不知道什么是最好的方法。 有虚拟主机为每个客户或有一个虚拟主机的服务和redirect使用mod_rewrite? 我目前正在设置这个环境,所以如果你有一个好主意plase不要忘记提及主机文件。 一切都应该自动生成,并在飞行中包括。 亲切的问候,病房
我试图让所有的网站来作为site.php而不是site.php?abc = 1 …等 目前我的.htaccess文件显示如下: RewriteCond %{QUERY_STRING} .+ RewriteRule ^(.*)$ /$1? [R=301,L] Options -Indexes 但是这不起作用。 任何帮助,将不胜感激
我正在尝试删除扩展并启用访问,以便对“/”,“/ index”和“/index.ext”的请求都返回相同的资源。 同时,我希望每一个这样的资源都要经过一个包含页眉,页脚的PHP脚本,然后做其他处理,然后把它们作为他们请求的资源发送回客户端。 我怎样才能使用.htaccess? 即使closuresMultiView,我也碰到了一堵砖墙,每一次尝试都会导致无限的重写循环。
我用我的Apache安装程序有一个非常奇怪的行为,然后修复它,但是我想了解真正发生了什么。 我的httpd.conf看起来像这样: <VirtualHost *:80> ServerName mysite.com ServerAlias www.mysite.com … <Directory "/path/to/mysite.com"> </Directory> </VirtualHost> ===那么,我想添加第二个不同的主机,具有相同的IP,但不同的域名,所以我添加了以下文件后(上述行) <VirtualHost adifferentdomain.com:80> ServerName adifferentdomain.com ServerAlias www.adifferentdomain.com … <Directory "/path/to/adifferentdomain.com"> </Directory> </VirtualHost> ======最终结果:当您浏览mysite.com时,您会看到来自adifferentdomain.com的内容。 当您浏览adifferentdomain.com时,您会看到adifferentdomain.com 那到底发生了什么? 那是标准的redirect吗? 或者从普通浏览器的“理解”到底是什么? 我的问题是因为这影响了我的谷歌排名戏剧性,我想知道谷歌看到了什么。