Articles of apache 2.2

超过9000个不同的子域301到主域.htacess apache

我买了一个域有不同的子域名,如 Kim.domain.com/whatever john.domain.com/whatever1 Lizo.domain.com/whatever2 Simon.domain.com/whatever1 这是在成千上万,也有链接到这些网页 我想做一个301redirect到http://domain.com所有这些url 任何想法如何做到这一点? 这是一个Apache Web服务器,需要通过.htaccess完成 我已经通过阅读下面的答案来实施解决scheme。 RewriteEngine On RewriteCond %{HTTP_HOST} !^www. domain.com$ RewriteCond %{HTTP_HOST} !^$ RewriteRule ^/(.*)$ http:/ / www. domain.com/$1 [L,R=301] 不过,我有一个小问题,我想redirect所有子域名+子文件夹到http:// www 。 domain.com/ 除http://域外。 com /子文件夹/,在这种情况下,我想redirect到http:// www.domain。 COM /子文件夹/ [即无子域的例外] 我猜我需要添加一个exception,我能做些什么来实现这一点。 请注意:上面的示例url中已经添加了空格,以防止垃圾邮件阻止post。

MOD_REWRITE不能创build正确的path

所以我试图在我的服务器上设置一个RewriteRule来caching静态对象。 该文件是在这个命名scheme/docroot/css/stylesheet.min.css中,我把它们打印在代码中,例如/docroot/css/stylesheet.min.123438348.css(数字是例子,它来自一个获得修改的函数)。 注意docroot是一个示例目录 我怎么能让服务器忽略数字,并redirect到stylesheet.min.css我需要为每个CSS和JS文件(/ JS和/ CSS),以及一个特定的精灵图像 我目前的尝试 RewriteRule ^ /(docroot)/(js | css)/(。+)\。(min)\。(。+)\。(js | css)$ /$1/$2/$3.$4.$6 RewriteRule ^(/ docroot / images / spritemap)\。([0-9] +)\。(png)$ $ 1. $ 3 更新:现在我有这样的设置 <Location /> RewriteEngine on Options FollowSymLinks RewriteRule ^(.+)\.(min)\.([0-9]+)\.(js|css)$ $1.$2.$4 [L] </Location> 这是将localhost / docroot / css / stylesheet.min.12343242.css改写为/var/www/html/docroot/trunk/docroot/css/stylesheet.min.css 所以它正在得到正确的文件,我怎么得到的Apache启动/ var / www / html / docroot / […]

子域和地址栏

我有一个相当noob问题如何子域名的工作。 据我了解,首先,DNS服务器指定某个subdomain.domain.com的请求必须转到domain.com的IP地址,并且domain.com上的web服务器会进一步处理该请求并显示所需的子域页面。 我不完全清楚(例如Apache)服务器是如何做到的。 据我所知,可以在vhosts.conf文件中指定包含子域数据的文件夹。 就像是: <VirtualHost *> ServerName www.domain.com DocumentRoot /home/httpd/htdocs/ </VirtualHost> <VirtualHost *> ServerName subdomain.domain.com DocumentRoot /home/httpd/htdocs/subdomain/ </VirtualHost> 也可以在.htaccess文件中redirect条目 rewritecond %{http_host} ^subdomain.domain.com [nc] rewriterule ^(.*)$ http://www.domain.com/subdomain/ [r=301,nc] 然而在这种情况下,用户被定向到包含子域数据的目录,但是用户被“取出”子域。 我想知道 – 如何,当去到subdomain.domain.com subdomain.domain.com ,地址的开始仍然可见在浏览器的地址栏? 可以通过.htaccess文件中的替代条目来完成吗? 如果在vhosts.conf文件中指定了VirtualHost条目,是否意味着必须指定新的用户帐户才能访问此目录?

apache的虚拟/默认页面

我试图为我的apache2设置默认页面,以下情况: 用户正在访问http:// IP地址而不是主机名 请求的协议(HTTP / HTTPS)不可用(例如,只有http://domain.com存在) 目前我有这样的事情 <VirtualHost eserver:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/local/ <Directory /> Options FollowSymLinks AllowOverride None </Directory> </VirtualHost> 我认为,它运作良好,我试图为HTTPS做类似的事情,但它不工作。 <VirtualHost eserver:443> SSLCertificateKeyFile /etc/apache2/ssl/dummy.key SSLCertificateFile /etc/apache2/ssl/dummy.crt SSLProtocol all SSLCipherSuite HIGH:MEDIUM ErrorLog /var/log/apache2/error.log DocumentRoot /var/www/local/ # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn ServerSignature Off </VirtualHost> 我的默认值是作为第一个000-默认的启用网站的地方 […]

创buildhtpasswd和编辑htaccess后500错误

我刚刚编辑的htaccess文件包括: AuthType基本 AuthName“我的保护区” AuthUserFile / home / path / to / public_html / 要求有效的用户 然后我通过htpasswd命令创build了一个htpasswd文件。 我已经在Apacheconfiguration中启用了模块:LoadModule authn_file_module modules / mod_authn_file.so。 现在,当我加载页面,我现在得到一个500错误和Apache日志说:“configuration错误:无法检查用户。没有用户文件?: /”

在Windows Apache服务器上启用PHP

我需要在Windows apache服务器上运行PHP应用程序。 我已经安装了Apache,将应用程序解压到htdocs文件夹中,但是当我在浏览器中input这个URL的时候 http://localhost:8080/pixelpost/admin/install.php 我得到了PHP文件的内容,而不是它应该生成的输出。 在Windows上启用PHP支持的步骤是什么? 我想我需要安装mod_php,并可能做一些其他的东西,但我的Apache和PHP的知识是最小的,所以白痴certificate指令将不胜感激。 谢谢,唐

为多个虚拟主机设置httpd-vhosts.conf

我有一个简单的testing设置,在家里使用xampp,当我试图在这个盒子上设置多个虚拟主机时,我感到非常奇怪的行为。 这是我的虚拟主机文件: NameVirtualHost *:80 <VirtualHost *:80> ServerAdmin [email protected] ServerName foo DocumentRoot "D:\wamp\xampp\htdocs\foo" ErrorLog logs/foo-error_log CustomLog logs/foo-access_log common <Directory "D:\wamp\xampp\htdocs\foo"> Options Indexes FollowSymLinks Includes execCGI AllowOverride All Order Allow,Deny Allow From All </Directory> </VirtualHost> <VirtualHost *:80> ServerAdmin [email protected] ServerName bar DocumentRoot "D:\wamp\xampp\htdocs\bar" ErrorLog logs/bar-error_log CustomLog logs/bar-access_log common <Directory "D:\wamp\xampp\htdocs\bar"> Options Indexes FollowSymLinks Includes execCGI AllowOverride All […]

为什么我的apache2,mod_fcgid,phpconfiguration导致100%的CPU使用率?

页面加载进行快速初始连接,然后在页面呈现之前挂起大约10秒钟。 当服务器负载增加时,我开始看顶部,我发现两个CPU在4-8个php-cgi进程之间有时被挂钩到100%。 我的理论是,因为我从来没有看到内存使用量永远不会超过50%,所以Apache能够处理请求进来,但排队他们的PHP进行处理。 我的mod_fcgid / phpconfiguration有什么问题? RHEL 5.4 2 Xeon E5420s @ 2.50 Ghz 4 Gb RAM Apache 2.2.3 超时30 保持活跃 MaxKeepAliveRequests 0 KeepAliveTimeout 5 <IfModule worker.c> StartServers 2 MaxClients 300 MinSpareThreads 25 MaxSpareThreads 75 ThreadsPerChild 25 MaxRequestsPerChild 0 </IfModule> mod_fcgid 2.2.10 LoadModule fcgid_module modules / mod_fcgid.so <IfModule !mod_fastcgi.c> AddHandler fcgid-script fcg fcgi fpl php […]

即使没有请求,Apache CPU使用率也保持在100%

我在新的Apache服务器上运行Apache HTTP服务器基准testing工具(ab)来testing性能。 我注意到,像下面这样的命令: ab -n 100000 -c 1000 http://www.mysite.com/ 在testing过程中,CPU由apache2进程100%使用。 当testing结束时,通常在最后一次请求发生之前发生以下错误: apr_poll: The timeout specified has expired (70007) Total of 99960 requests completed CPU使用率保持在100%,并且全部被apache占用。 我正在使用worker MPM并使用mod_fcgid运行PHP。 任何意见,为什么这是或可以做些什么来阻止它,将不胜感激。

在VPS上使用Apache托pipe多个域

我最近买了一个Windows VPS和安装Apache,MySQL使用XAMPP。 所有的服务都运行良好。 我可以使用VPS的IP访问托pipe站点,但是我需要做的是在该服务器上托pipe多个域。 其实我的要求是在基于PHP的网站上使用htaccess,但该网站也必须访问ms sql服务器的数据。 所以需要启用php.ini中没有共享主机支持的php_mssql.dll。 必须去这个VPS。 Plesk是默认安装的,但由于htaccess不能使用IIS,所以我不得不停止IIS服务并在那里安装Apache。 现在一切正常,但我需要find一种方法来在那里托pipe多个域名。 当我买了VPS他们托pipe的人给我发送服务器的专用IP,我也有2名域名服务器所需的主机。 你下一步怎么做? 我需要修改哪个文件才能完成任务? 请帮忙! 任何forms的帮助,非常感谢。 预先感谢您的亲切的帮助和时间。