概述又是一个项目,为访问多个纯静态html页面h5游戏页,能够做一些简单分享和跳转即可。原本是一个简单得不能的项目,但是却多生了事端。我按照apache的惯例,将文件上传到服务器的DocumentRoot目录,进行测试了。刚开始使用目录下index.html访问该游戏,完全OK,测了一段时间,换成另一个文件index2.html,却不行了。报了500错误。我以为或者我们都以为是html页面写错了,于是反复改语法,再试再试,结果却仍是不行。最后到只
加载一行<h1>hello, world</h1>,也不行。焦头烂额啊,咋办呢?1. 另外在服务器上单独新建一个a.html。输入简单的页面元素访问,Not ok,500错误依然!2. 将同样的文件拿到本地环境运行,跑得飞快。这时,已经开始怀疑是服务器的问题了,但是没有办法,想多试试本地,继续在本地新建文件访问,结果本地服务器报了个403错误,乱七八糟的搞了一通,没有改好。算了,还是回测试服务器弄吧。3. 新建readme.txt访问,结果没有访问到。这最终被证明是大小写没有写对的原因,哎呀,我去。4. 新建test.php文件访问,结果一切正常。从这一刻开始,认为服务器只解析.php文件了。但是.js文件却又是能访问的,这。。。<?phpecho "hello, world!";5. 查看httpd-vhosts.conf文件。确认没有什么特殊的配置。<VirtualHost *:80>DocumentRoot /www/web/m_admin/public_html#ServerName admin.mobanker.comServerName 192.168.0.31ServerAlias wx.sd.com<Proxy *># #Order deny,allow# Order allow,denyAllow from all</Proxy>ErrorDocument 400 /errpage/400.htmlErrorDocument 403 /errpage/403.htmlErrorDocument 404 /errpage/404.html<IfModule mod_deflate.c>DeflateCompressionLevel 7AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-httpd-phpAddOutputFilter DEFLATE css js html htm gif jpg png bmp php</IfModule>ProxyPass /eagleeye http://192.168.1.5:33008/eagleeyeProxyPassReverse /eagleeye http://192.168.1.5:33008/eagleeye</VirtualHost><Directory /www/web/m_admin/public_html>Options Indexes FollowSymLinksAllowOverride AllOrder allow,denyAllow from all</Directory>6. 查看http.conf文件# 如下参数是通过命令 cat /etc/httpd/conf/httpd.conf | grep -v "^#" | grep -v "^$" 筛选出来的ServerTokens OSServerRoot "/etc/httpd"PidFile run/httpd.pidTimeout 120KeepAlive OffMaxKeepAliveRequests 100KeepAliveTimeout 15<IfModule prefork.c>StartServers 8MinSpareServers 5MaxSpareServers 20ServerLimit 256MaxClients 256MaxRequestsPerChild 4000</IfModule><IfModule worker.c>StartServers 2MaxClients 150MinSpareThreads 25MaxSpareThreads 75ThreadsPerChild 25MaxRequestsPerChild 0</IfModule>Listen 80LoadModule auth_basic_module modules/mod_auth_basic.soLoadModule auth_digest_module modules/mod_auth_digest.soLoadModule authn_file_module modules/mod_authn_file.soLoadModule authn_alias_module modules/mod_authn_alias.soLoadModule authn_anon_module modules/mod_authn_anon.soLoadModule authn_dbm_module modules/mod_authn_dbm.soLoadModule authn_default_module modules/mod_authn_default.soLoadModule authz_host_module modules/mod_authz_host.soLoadModule authz_user_module modules/mod_authz_user.soLoadModule authz_owner_module modules/mod_authz_owner.soLoadModule authz_groupfile_module modules/mod_authz_groupfile.soLoadModule authz_dbm_module modules/mod_authz_dbm.soLoadModule authz_default_module modules/mod_authz_default.soLoadModule ldap_module modules/mod_ldap.soLoadModule authnz_ldap_module modules/mod_authnz_ldap.soLoadModule include_module modules/mod_include.soLoadModule log_config_module modules/mod_log_config.soLoadModule logio_module modules/mod_logio.soLoadModule env_module modules/mod_env.soLoadModule ext_filter_module modules/mod_ext_filter.soLoadModule mime_magic_module modules/mod_mime_magic.soLoadModule expires_module modules/mod_expires.soLoadModule deflate_module modules/mod_deflate.soLoadModule headers_module modules/mod_headers.soLoadModule usertrack_module modules/mod_usertrack.soLoadModule setenvif_module modules/mod_setenvif.soLoadModule mime_module modules/mod_mime.soLoadModule dav_module modules/mod_dav.soLoadModule status_module modules/mod_status.soLoadModule autoindex_module modules/mod_autoindex.soLoadModule info_module modules/mod_info.soLoadModule dav_fs_module modules/mod_dav_fs.soLoadModule vhost_alias_module modules/mod_vhost_alias.soLoadModule negotiation_module modules/mod_negotiation.soLoadModule dir_module modules/mod_dir.soLoadModule actions_module modules/mod_actions.soLoadModule speling_module modules/mod_speling.soLoadModule userdir_module modules/mod_userdir.soLoadModule alias_module modules/mod_alias.soLoadModule rewrite_module modules/mod_rewrite.soLoadModule proxy_module modules/mod_proxy.soLoadModule proxy_balancer_module modules/mod_proxy_balancer.soLoadModule proxy_ftp_module modules/mod_proxy_ftp.soLoadModule proxy_http_module modules/mod_proxy_http.soLoadModule proxy_connect_module modules/mod_proxy_connect.soLoadModule cache_module modules/mod_cache.soLoadModule suexec_module modules/mod_suexec.soLoadModule disk_cache_module modules/mod_disk_cache.soLoadModule file_cache_module modules/mod_file_cache.soLoadModule mem_cache_module modules/mod_mem_cache.soLoadModule cgi_module modules/mod_cgi.soLoadModule version_module modules/mod_version.soInclude conf.d/*.confUser apacheGroup apacheServerAdmin root@localhostServerName 127.0.0.1:80UseCanonicalName OffDocumentRoot "/var/www/html"<Directory />Options FollowSymLinksAllowOverride None</Directory><Directory "/var/www/html">Options Indexes FollowSymLinksAllowOverride NoneOrder allow,denyAllow from all</Directory>DirectoryIndex index.html index.html.varAccessFileName .htaccess<Files ~ "^.ht
又是一个项目,为访问多个纯静态HTML页面h5游戏页,能够做一些简单分享和跳转即可。原本是一个简单得不能的项目,但是却多生了事端。
我按照apache的惯例,将文件上传到服务器的documentRoot目录,进行测试了。
刚开始使用目录下index.HTML访问该游戏,完全OK,测了一段时间,换成另一个文件index2.HTML,却不行了。报了500错误。
我以为或者我们都以为是HTML页面写错了,于是反复改语法,再试再试,结果却仍是不行。最后到只加载一行hello,world,也不行。焦头烂额啊,咋办呢?
1. 另外在服务器上单独新建一个a.HTML。输入简单的页面元素访问,Not ok,500错误依然!
2. 将同样的文件拿到本地环境运行,跑得飞快。这时,已经开始怀疑是服务器的问题了,但是没有办法,想多试试本地,继续在本地新建文件访问,结果本地服务器报了个403错误,乱七八糟的搞了一通,没有改好。算了,还是回测试服务器弄吧。
3. 新建readme.txt访问,结果没有访问到。这最终被证明是大小写没有写对的原因,哎呀,我去。
4. 新建test.PHP文件访问,结果一切正常。从这一刻开始,认为服务器只解析.PHP文件了。但是.Js文件却又是能访问的,这。。。
"hello,world!";5. 查看httpd-vhosts.conf文件。确认没有什么特殊的配置。
>/www/web/m_admin/. /errpage/ /errpage/ /errpage//HTML text/plain text/xml application/x-httpd-/eagleeye http:ProxyPassReverse /eagleeye http:6. 查看http.conf文件
ServerTokens OSServerRoot ///////////////////////////////////////////////////// Options FollowSymlinks AllowOverrIDe NoneDirectoryIndex index.HTML index.HTML.varAccessfilename .htaccessTypesConfig /etc/mime.typesDefaultType text/plain MIMEMagicfile conf/magicHostnameLookups OffEnableSendfile offErrorLog logs/error_logLogLevel warnLogFormat "%T %h %v %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O \"%{X-Forwarded-For}i\" " combinedLogFormat "%h %l %u %t \"%r\" %>s %b" commonLogFormat "%{Referer}i -> %U" refererLogFormat "%{User-agent}i" agentCustomLog logs/access_log combinedServerSignature OnAlias /icons/ "/var/www/icons/" # Location of the WebDAV lock database. DAVLockDB /var/lib/dav/lockdbScriptAlias /cgi-bin/ "/var/www/cgi-bin/"IndexOptions FancyIndexing VersionSort nameWIDth=* HTMLtableAddIconByEnCoding (CMP,/icons/compressed.gif) x-compress x-gzipAddIconByType (TXT,/icons/text.gif) text/*AddIconByType (img,/icons/image2.gif) image/*AddIconByType (SND,/icons/sound2.gif) audio/*AddIconByType (VID,/icons/movIE.gif) vIDeo/*AddIcon /icons/binary.gif .bin .exeAddIcon /icons/binhex.gif .hqxAddIcon /icons/tar.gif .tarAddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .ivAddIcon /icons/compressed.gif .Z .z .tgz .gz .zipAddIcon /icons/a.gif .ps .ai .epsAddIcon /icons/layout.gif .HTML .sHTML .htm .pdfReadmename README.HTMLheadername header.HTMLIndexIgnore .??* *~ *# header* README* RCS CVS *,v *,tAddLanguage ca .caAddLanguage zh-CN .zh-cn
AddLanguage zh-TW .zh-tw
LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW
ForceLanguagePriority Prefer Fallback
AddDefaultCharset UTF-8
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddHandler type-map var
AddType text/HTML .sHTML
AddOutputFilter INCLUDES .sHTML
Alias /error/ "/var/www/error/"
browserMatch "Mozilla/2" nokeepalivebrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0browserMatch "RealPlayer 4\.0" force-response-1.0browserMatch "Java/1\.0" force-response-1.0browserMatch "JDK/1\.0" force-response-1.0browserMatch "Microsoft Data Access Internet Publishing ProvIDer" redirect-carefullybrowserMatch "MS FrontPage" redirect-carefullybrowserMatch "^WebDrive" redirect-carefullybrowserMatch "^WebDAVFS/1.[0123]" redirect-carefullybrowserMatch "^gnome-vfs/1.0" redirect-carefullybrowserMatch "^XML Spy" redirect-carefullybrowserMatch "^Dreamweaver-WebDAV-SCM1" redirect-carefullyProxyRequests On Order allow,deny Allow from allnameVirtualHost *:806. 中途查找了一个SSI相关的知识,还加了下.HTML的后缀。把根目录给改过,结果.HTML能访问了,.PHP却不能访问了,哎,还是只能撤消回来。
7. 去找运维同事解决,未果。他也忙也不忍心一直耽搁别人。不过通过查看错误日志了解到了一些端倪。
-f access_log error_log8. 发现很多文件都会去访问某个PHP文件,怀疑请求被转发掉了。然后想到了apache的.htaccess文件,去查看,终于知道了原因,果然原来请求已被路由至有错误的文件去了。
RewriteEngine On^%{REQUEST_URI} !zq^|p12|der|jks|rsa|cer|cert|crt|csr|pem|sql)$ - [F,L]^^rest/(.*)$ /rest.PHP/$ [L]^^(app|wechat)/(.*)$ /uzone/rest.PHP/$/$RewriteRule ^([a-z0-9_~%~.~+]+)/a.HTML /index.PHP\?$/$ [L]^^([a-z0-9_~%~.~+]+)/a([-]+).HTML /index.PHP\?$/$ [L]^^([a-z0-9_~%~.~+]+)/a([-]+).HTML\?(.*) /index.PHP\?$/$&$ [L]^/([a-z0-9_~%~.~+]+)/index.HTML\?(.*) /index.PHP\?$&$ [L]^^(.*)/u/([-]+)/(.*)$ /index.PHP\?u&$&$ [L]^^(.*)/u/([-]+)/(.*)/$ /index.PHP\?u&$&$ [L]^^(.*)/u/([-]+)$ /index.PHP\?u&$ [L]^^(.*)/u/([-]+)/$ /index.PHP\?u&$ [L]^/([a-z0-9_~%~.~+]+)/index.HTML\?(.*) /index.PHP\?$&$ [L]^/([a-z0-9_~%~.~+]+)/index([-]+).HTML\?(.*) /index.PHP\?$&page=$&$ [L]^^channel/(.*)$ /index.PHP\?$ [L]^^data/upes/images/(.*)$ /dataacc/ime.PHP\?%{query_STRING} [L]^^data/CMS/content//(.*)$ /dataacc/ime.PHP\?%{query_STRING} [L]^^voices/record/(.*)$ /dacc/image.PHP\?%{query_STRING} [L]^^pay/(.*)$ /index.PHP [L]^^-Indexes^^^%{query_STRING} \bstate=v3@^^alipay/auth/.*$ alipay/auth_v3/ [QSA,L]^M将该路由注释去除后,问题得以解决。
哎,总算完结。凡事还得自己努力啊! JAVA还在好好学习中,我靠后面还有考试!
总结 以上是内存溢出为你收集整理的apache环境之困扰,Rewrite导致无法加载多个不同的.html文件全部内容,希望文章能够帮你解决apache环境之困扰,Rewrite导致无法加载多个不同的.html文件所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
评论列表(0条)