我们目前在svn.company.com上有一个用于内部(偶尔外部)使用的颠覆服务器。 目前版本库通过SVNParentPath位于/ svn / [project]。 但是,pipe理层希望只在/ [项目]中提供它们。 我能看到它似乎与一些mod_rewrite指令工作: #Don't redirect (internally, note the PT (passthrough)) any trac or admin pages RewriteCond %{REQUEST_URI} !^/trac.*$ RewriteCond %{REQUEST_URI} !^/admin.*$ RewriteCond %{REQUEST_URI} !^/svn.*$ RewriteRule ^/(.*)$ /svn/$1 [PT,NS,QSA] 这似乎工作,但检查出或执行任何其他实际的SVN操作失败。 我的理论是,DAV将URL报告为/ svn / [project],当客户端与/ [project]请求的URL不匹配时,客户端将中止。 你将如何解决这个问题?
如何将示例url转换为所需的url? From http://test.at.domain.com To http://domain.com/at/index.php?at=test 我有: RewriteEngine on RewriteCond %{HTTP_HOST} (\w+).at.domain.com [NC] RewriteRule .* http://domain.com/at/index.php?at=%1 [L] 然而,浏览器说:“它表示抱歉,这个网站目前不可用”这是formsgodaddy.com
我想让Apache在我的“项目”目录中运行一个cgi可执行文件。 它应该在以下位置响应HTTP请求: localhost/packages localhost/packages/ 但是,它不应该响应HTTP请求 localhost/packages/PackageName localhost/packages/PackageName/ localhost/packages/PackageName/more/stuff 为此,我创build了一个Apacheconfiguration文件,其中包含: ScriptAlias /doc_cgi/ /long/path/to/cgi/DocCGI.haskell/ RewriteEngine On RewriteRule ^/packages/?$ /doc_cgi/packages/ [L,PT] <Directory "/long/path/to/cgi/"> Order deny,allow Allow from all AddHandler cgi-script .haskell Options +ExecCGI </Directory> 正如我所预料的那样,在向localhost / doc_cgi /发送http请求时,会调用cgi程序。 但是,当我提出请求时,重写规则似乎没有被触发 localhost/packages localhost/packages/ 因为我得到404错误,日志说: [Wed Jul 20 12:29:42 2011] [error] [client 127.0.0.1] File does not exist: /var/www/packages 为了完整起见,下面是configuration文件的相关部分,它定义了我如何处理对localhost / packages […]
我有前面apache2和后端tomcat6与apache lenya。 代理工作正常,但我想caching图像。 这是我的简单configuration: ProxyPass / http://192.168.0.82:8888/ ProxyPassReverse / http://192.168.0.82:8888/ RewriteRule ^/$ index.html [R] RewriteRule ^/default/live/(.*)$ $1 [R,L] RewriteRule ^/(.*) http://192.168.0.82:8888/default/live/$1 [P] ProxyRequests Off RewriteEngine On 我试图用这种方式caching它: <IfModule mod_disk_cache.c> CacheEnable disk / CacheRoot "/var/cache/mod_proxy" CacheRoot /home/apache2/cache CacheDefaultExpire 60 CacheMaxExpire 3600 </IfModule> 但是我什么也没得到 我甚至试过这种方式: <IfModule mod_mem_cache.c> CacheEnable mem / MCacheMaxObjectSize 1024000 MCacheSize 102400 </IfModule> 再次没有结果。 启用了mod_mem_cache和mod_disk_cache。 […]
我正在尝试使用Apache 2创build自动子域(在Ubuntu上运行) 我已经使用VirtualDocumentRoot指令来执行文档根目录的初始声明,在我的虚拟主机文件中包含以下内容: <VirtualHost *:80> VirtualDocumentRoot /var/www/dev/branches/%1/public/ ServerAlias *.dev.example.com <Directory /> Options Indexes FollowSymLinks Includes ExecCGI AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost> 这对于第一部分来说很好,所以对foo.dev.example.com的请求具有/var/www/dev/branches/foo/public的文档根目录,这很好。 问题 唉,公共文件夹中的*.htaccess文件似乎没有工作。 所有请求都应该通过公用文件夹中的index.php发送,如.htaccess文件所示: Options -Indexes <IfModule mod_rewrite.c> RewriteEngine on # redirects requests to index.php where no file or directory exists RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule .* index.php […]
我已经添加了这一行到httpd.conf ,但我仍然无法得到这个简单的例子工作。 不pipe用户代理是什么,重写都不会发生。 LoadModule没有注释为mod_rewrite 。 这里可能是什么问题? <Location /> RewriteEngine On RewriteBase / RewriteCond %{HTTP_USER_AGENT} android|avantgo|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge\ |maemo|midp|mmp|opera\ m(ob|in)i|palm(\ os)?|phone|p(ixi|re)\/|plucker|pocket|psp|symbian|treo|up\.(browser|link)|vodafone|wap|windows\ (ce|phone)|xda|xiino [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^(1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a\ wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r\ |s\ )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1\ u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp(\ i|ip)|hs\-c|ht(c(\-|\ |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac(\ |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt(\ |\/)|klon|kpt\ |kwc\-|kyo(c|k)|le(no|xi)|lg(\ g|\/(k|l|u)|50|54|e\-|e\/|\-[aw])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(di|rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-|\ |o|v)|zz)|mt(50|p1|v\ )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v\ )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-|\ )|webc|whit|wi(g\ |nc|nw)|wmlb|wonu|x700|xda(\-|2|g)|yas\-|your|zeto|zte\-) [NC] RewriteRule ^$ /mobile [R,L] </Location>
我正在将网站移至新的共享主机。 我想有一个文件夹的PHP包含在实时目录下,并可用于公共的PHP页面。 我应该在www_public的.htaccess文件中添加什么指令? 基本应该是mod_rewrite的一些版本,用于www_public / index * www_my_new_public / index。*,是的? Mod_alias将所有stream量发送到一个目录到另一个目录,是吗? 我应该这样做吗? 大多数post我find了在Apache的urlMODS参考清理url的PHP。 或将旧内容redirect到新位置。 我真的可以用一些build议来知道要找什么。
所以,我想打开以下url: tags/tag1/tag2/tag3 放入一个参数化的参数如下: tags.php?tags=tag1&tags=tag2&tags=tag3 这给我留下了以下RewriteRules(其中包括) RewriteRule ^tags/([^/]+)(/.+)?$ tags.php?tags=$1$2 [C] RewriteRule ^tags.php?tags=([^/]+)/([^/]+)(/.+)?$ tags.php?tags=$1&tags=$2$3 [N] 但是当我拉起标签variables使用PHP我得到"tag1/tag2/tag3" ,这导致我相信它没有正确运行。 任何人都知道为什么第二条规则甚至没有申请一次?
我们将网站迁移到了VPS服务器(CentOS 5.6 + Plesk 9.5),一切正常,但我在Plesk注意到的一个奇怪的事情是error_log文件,大部分时间里它充满了数百个条目,如: … [Thu Aug 10 11:35:48 2011] [error] [client xx.xx.xx.xx] File does not exist: /var/www/vhosts/yourdomain.com/httpdocs/category1 [Thu Aug 10 11:35:48 2011] [error] [client xx.xx.xx.xx] File does not exist: /var/www/vhosts/yourdomain.com/httpdocs/category2 …. 如果我打开这些url(ex. http://yourdomain.com/category2)在我的网页浏览器一切正常,没有404错误,头响应200,所以一切正常,我应该看到我想要的页面。 但是为什么日志文件将其视为错误并指出文件不存在? 另外我想提到“category1”,“category2”不是物理目录,它是.htacess和mod_rewritepipe理path,所以不是真正的文件夹。 mod_rewrite似乎没有正确地告诉日志系统,当它看起来像一个文件/文件夹不是物理上存在但由mod_rewrite处理时,请求不应该被视为404。 任何帮助表示赞赏。 谢谢。 蒂姆
我有一个主要的drupal7站点和一个drupal6站点,在主要的drupal7站点中“生活”。 url如下所示: example_d7.com和example_d7.com/dir/example_d6 。 这些站点中的每一个都是从一个单独的目录中提供的: /www/drupal_sites/example_d7和/www/drupal_sites/example_d6 。 我已经将默认的drupal .htaccess文件的apache指令直接放在一个vhost文件中。 我的问题是,虽然干净的URL在主站点example_d7.com ,但干净的URL不能在example_d7.com/dir/example_d6 。 example_d7.com/dir/example_d6工作。 当我追加一个index.php?q=admin的URL,我可以浏览该网站。 我已经尝试了各种重写规则和条件。 我正在运行Apache 2.2.10。 主要的drupal7网站configuration: <Directory /www/drupal_sites/example_d7> AllowOverride None …snip… # Various rewrite rules. <IfModule mod_rewrite.c> RewriteEngine on RewriteRule "(^|/)\." – [F] # RewriteBase / # Pass all requests not referring directly to files in the filesystem to # index.php. Clean URLs […]