Advertisement
Guest User

Untitled

a guest
Apr 16th, 2014
33
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 20.96 KB | None | 0 0
  1. #
  2. # This is the main Apache HTTP server configuration file. It contains the
  3. # configuration directives that give the server its instructions.
  4. # See <URL:http://httpd.apache.org/docs/2.4/> for detailed information.
  5. # In particular, see
  6. # <URL:http://httpd.apache.org/docs/2.4/mod/directives.html>
  7. # for a discussion of each configuration directive.
  8. #
  9. # Do NOT simply read the instructions in here without understanding
  10. # what they do. They're here only as hints or reminders. If you are unsure
  11. # consult the online docs. You have been warned.
  12. #
  13. # Configuration and logfile names: If the filenames you specify for many
  14. # of the server's control files begin with "/" (or "drive:/" for Win32), the
  15. # server will use that explicit path. If the filenames do *not* begin
  16. # with "/", the value of ServerRoot is prepended -- so "logs/access_log"
  17. # with ServerRoot set to "/usr/local/apache2" will be interpreted by the
  18. # server as "/usr/local/apache2/logs/access_log", whereas "/logs/access_log"
  19. # will be interpreted as '/logs/access_log'.
  20. #
  21. # NOTE: Where filenames are specified, you must use forward slashes
  22. # instead of backslashes (e.g., "c:/apache" instead of "c:\apache").
  23. # If a drive letter is omitted, the drive on which httpd.exe is located
  24. # will be used by default. It is recommended that you always supply
  25. # an explicit drive letter in absolute paths to avoid confusion.
  26.  
  27. #
  28. # ServerRoot: The top of the directory tree under which the server's
  29. # configuration, error, and log files are kept.
  30. #
  31. # Do not add a slash at the end of the directory path. If you point
  32. # ServerRoot at a non-local disk, be sure to specify a local disk on the
  33. # Mutex directive, if file-based mutexes are used. If you wish to share the
  34. # same ServerRoot for multiple httpd daemons, you will need to change at
  35. # least PidFile.
  36. #
  37. ServerRoot "C:/xampp/apache"
  38.  
  39. #
  40. # Mutex: Allows you to set the mutex mechanism and mutex file directory
  41. # for individual mutexes, or change the global defaults
  42. #
  43. # Uncomment and change the directory if mutexes are file-based and the default
  44. # mutex file directory is not on a local disk or is not appropriate for some
  45. # other reason.
  46. #
  47. # Mutex default:logs
  48.  
  49. #
  50. # Listen: Allows you to bind Apache to specific IP addresses and/or
  51. # ports, instead of the default. See also the <VirtualHost>
  52. # directive
  53. #
  54. # Change this to Listen on specific IP addresses as shown below to
  55. # prevent Apache from glomming onto all bound IP addresses.
  56. #
  57. #Listen 12.34.56.78:80
  58. Listen 80
  59.  
  60. #
  61. # Dynamic Shared Object (DSO) Support
  62. # To be able to use the functionality of a module which was built as a DSO you
  63. # have to place corresponding `LoadModule' lines at this location so the
  64. # directives contained in it are actually available _before_ they are used.
  65. # Statically compiled modules (those listed by `httpd -l') do not need
  66. # to be loaded here.
  67. #
  68. # Example:
  69. # LoadModule foo_module modules/mod_foo.so
  70. #
  71. LoadModule access_compat_module modules/mod_access_compat.so
  72. LoadModule actions_module modules/mod_actions.so
  73. LoadModule alias_module modules/mod_alias.so
  74. LoadModule allowmethods_module modules/mod_allowmethods.so
  75. LoadModule asis_module modules/mod_asis.so
  76. LoadModule auth_basic_module modules/mod_auth_basic.so
  77. #LoadModule auth_digest_module modules/mod_auth_digest.so
  78. #LoadModule auth_form_module modules/mod_auth_form.so
  79. #LoadModule authn_anon_module modules/mod_authn_anon.so
  80. LoadModule authn_core_module modules/mod_authn_core.so
  81. #LoadModule authn_dbd_module modules/mod_authn_dbd.so
  82. #LoadModule authn_dbm_module modules/mod_authn_dbm.so
  83. LoadModule authn_file_module modules/mod_authn_file.so
  84. #LoadModule authn_socache_module modules/mod_authn_socache.so
  85. #LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
  86. LoadModule authz_core_module modules/mod_authz_core.so
  87. #LoadModule authz_dbd_module modules/mod_authz_dbd.so
  88. #LoadModule authz_dbm_module modules/mod_authz_dbm.so
  89. LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
  90. LoadModule authz_host_module modules/mod_authz_host.so
  91. #LoadModule authz_owner_module modules/mod_authz_owner.so
  92. LoadModule authz_user_module modules/mod_authz_user.so
  93. LoadModule autoindex_module modules/mod_autoindex.so
  94. #LoadModule buffer_module modules/mod_buffer.so
  95. #LoadModule cache_module modules/mod_cache.so
  96. #LoadModule cache_disk_module modules/mod_cache_disk.so
  97. #LoadModule cache_socache_module modules/mod_cache_socache.so
  98. #LoadModule cern_meta_module modules/mod_cern_meta.so
  99. LoadModule cgi_module modules/mod_cgi.so
  100. #LoadModule charset_lite_module modules/mod_charset_lite.so
  101. #LoadModule data_module modules/mod_data.so
  102. #LoadModule dav_module modules/mod_dav.so
  103. #LoadModule dav_fs_module modules/mod_dav_fs.so
  104. LoadModule dav_lock_module modules/mod_dav_lock.so
  105. #LoadModule dbd_module modules/mod_dbd.so
  106. #LoadModule deflate_module modules/mod_deflate.so
  107. LoadModule dir_module modules/mod_dir.so
  108. #LoadModule dumpio_module modules/mod_dumpio.so
  109. LoadModule env_module modules/mod_env.so
  110. #LoadModule expires_module modules/mod_expires.so
  111. #LoadModule ext_filter_module modules/mod_ext_filter.so
  112. #LoadModule file_cache_module modules/mod_file_cache.so
  113. #LoadModule filter_module modules/mod_filter.so
  114. LoadModule headers_module modules/mod_headers.so
  115. #LoadModule heartbeat_module modules/mod_heartbeat.so
  116. #LoadModule heartmonitor_module modules/mod_heartmonitor.so
  117. #LoadModule ident_module modules/mod_ident.so
  118. #LoadModule imagemap_module modules/mod_imagemap.so
  119. LoadModule include_module modules/mod_include.so
  120. LoadModule info_module modules/mod_info.so
  121. LoadModule isapi_module modules/mod_isapi.so
  122. #LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so
  123. #LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
  124. #LoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so
  125. #LoadModule lbmethod_heartbeat_module modules/mod_lbmethod_heartbeat.so
  126. #LoadModule ldap_module modules/mod_ldap.so
  127. #LoadModule logio_module modules/mod_logio.so
  128. LoadModule log_config_module modules/mod_log_config.so
  129. #LoadModule log_debug_module modules/mod_log_debug.so
  130. #LoadModule log_forensic_module modules/mod_log_forensic.so
  131. #LoadModule lua_module modules/mod_lua.so
  132. LoadModule cache_disk_module modules/mod_cache_disk.so
  133. #LoadModule macro_module modules/mod_macro.so
  134. LoadModule mime_module modules/mod_mime.so
  135. #LoadModule mime_magic_module modules/mod_mime_magic.so
  136. LoadModule negotiation_module modules/mod_negotiation.so
  137. LoadModule proxy_module modules/mod_proxy.so
  138. LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
  139. #LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
  140. #LoadModule proxy_connect_module modules/mod_proxy_connect.so
  141. #LoadModule proxy_express_module modules/mod_proxy_express.so
  142. #LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
  143. #LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
  144. #LoadModule proxy_html_module modules/mod_proxy_html.so
  145. #LoadModule proxy_http_module modules/mod_proxy_http.so
  146. #LoadModule proxy_scgi_module modules/mod_proxy_scgi.so
  147. #LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
  148. #LoadModule ratelimit_module modules/mod_ratelimit.so
  149. #LoadModule reflector_module modules/mod_reflector.so
  150. #LoadModule remoteip_module modules/mod_remoteip.so
  151. #LoadModule request_module modules/mod_request.so
  152. #LoadModule reqtimeout_module modules/mod_reqtimeout.so
  153. LoadModule rewrite_module modules/mod_rewrite.so
  154. #LoadModule sed_module modules/mod_sed.so
  155. #LoadModule session_module modules/mod_session.so
  156. #LoadModule session_cookie_module modules/mod_session_cookie.so
  157. #LoadModule session_crypto_module modules/mod_session_crypto.so
  158. #LoadModule session_dbd_module modules/mod_session_dbd.so
  159. LoadModule setenvif_module modules/mod_setenvif.so
  160. #LoadModule slotmem_plain_module modules/mod_slotmem_plain.so
  161. #LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
  162. #LoadModule socache_dbm_module modules/mod_socache_dbm.so
  163. #LoadModule socache_memcache_module modules/mod_socache_memcache.so
  164. LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
  165. #LoadModule speling_module modules/mod_speling.so
  166. LoadModule ssl_module modules/mod_ssl.so
  167. LoadModule status_module modules/mod_status.so
  168. #LoadModule substitute_module modules/mod_substitute.so
  169. #LoadModule unique_id_module modules/mod_unique_id.so
  170. #LoadModule userdir_module modules/mod_userdir.so
  171. #LoadModule usertrack_module modules/mod_usertrack.so
  172. LoadModule version_module modules/mod_version.so
  173. #LoadModule vhost_alias_module modules/mod_vhost_alias.so
  174. #LoadModule watchdog_module modules/mod_watchdog.so
  175. #LoadModule xml2enc_module modules/mod_xml2enc.so
  176.  
  177. <IfModule unixd_module>
  178. #
  179. # If you wish httpd to run as a different user or group, you must run
  180. # httpd as root initially and it will switch.
  181. #
  182. # User/Group: The name (or #number) of the user/group to run httpd as.
  183. # It is usually good practice to create a dedicated user and group for
  184. # running httpd, as with most system services.
  185. #
  186. User daemon
  187. Group daemon
  188.  
  189. </IfModule>
  190.  
  191. # 'Main' server configuration
  192. #
  193. # The directives in this section set up the values used by the 'main'
  194. # server, which responds to any requests that aren't handled by a
  195. # <VirtualHost> definition. These values also provide defaults for
  196. # any <VirtualHost> containers you may define later in the file.
  197. #
  198. # All of these directives may appear inside <VirtualHost> containers,
  199. # in which case these default settings will be overridden for the
  200. # virtual host being defined.
  201. #
  202.  
  203. #
  204. # ServerAdmin: Your address, where problems with the server should be
  205. # e-mailed. This address appears on some server-generated pages, such
  206. # as error documents. e.g. admin@your-domain.com
  207. #
  208. ServerAdmin postmaster@localhost
  209.  
  210. #
  211. # ServerName gives the name and port that the server uses to identify itself.
  212. # This can often be determined automatically, but we recommend you specify
  213. # it explicitly to prevent problems during startup.
  214. #
  215. # If your host doesn't have a registered DNS name, enter its IP address here.
  216. #
  217. ServerName localhost:80
  218.  
  219. #
  220. # Deny access to the entirety of your server's filesystem. You must
  221. # explicitly permit access to web content directories in other
  222. # <Directory> blocks below.
  223. #
  224. <Directory />
  225. AllowOverride none
  226. Require all denied
  227. </Directory>
  228.  
  229. #
  230. # Note that from this point forward you must specifically allow
  231. # particular features to be enabled - so if something's not working as
  232. # you might expect, make sure that you have specifically enabled it
  233. # below.
  234. #
  235.  
  236. #
  237. # DocumentRoot: The directory out of which you will serve your
  238. # documents. By default, all requests are taken from this directory, but
  239. # symbolic links and aliases may be used to point to other locations.
  240. #
  241. #DocumentRoot "C:/xampp/htdocs"
  242. #DocumentRoot "C:\Users\Alessandro\Documents\GitHub\eotica"
  243. DocumentRoot "C:\Users\Alessandro\Documents\GitHub\it"
  244. #<Directory "C:/xampp/htdocs">
  245. <Directory "C:\Users\Alessandro\Documents\GitHub">
  246. #
  247. # Possible values for the Options directive are "None", "All",
  248. # or any combination of:
  249. # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
  250. #
  251. # Note that "MultiViews" must be named *explicitly* --- "Options All"
  252. # doesn't give it to you.
  253. #
  254. # The Options directive is both complicated and important. Please see
  255. # http://httpd.apache.org/docs/2.4/mod/core.html#options
  256. # for more information.
  257. #
  258. Options All
  259.  
  260. #
  261. # AllowOverride controls what directives may be placed in .htaccess files.
  262. # It can be "All", "None", or any combination of the keywords:
  263. # AllowOverride FileInfo AuthConfig Limit
  264. #
  265. AllowOverride All
  266.  
  267. #
  268. # Controls who can get stuff from this server.
  269. #
  270. Require all granted
  271. </Directory>
  272.  
  273. #
  274. # DirectoryIndex: sets the file that Apache will serve if a directory
  275. # is requested.
  276. #
  277. <IfModule dir_module>
  278. DirectoryIndex index.php index.pl index.cgi index.asp index.shtml index.html index.htm \
  279. default.php default.pl default.cgi default.asp default.shtml default.html default.htm \
  280. home.php home.pl home.cgi home.asp home.shtml home.html home.htm
  281. </IfModule>
  282.  
  283. #
  284. # The following lines prevent .htaccess and .htpasswd files from being
  285. # viewed by Web clients.
  286. #
  287. <Files ".ht*">
  288. Require all denied
  289. </Files>
  290.  
  291. #
  292. # ErrorLog: The location of the error log file.
  293. # If you do not specify an ErrorLog directive within a <VirtualHost>
  294. # container, error messages relating to that virtual host will be
  295. # logged here. If you *do* define an error logfile for a <VirtualHost>
  296. # container, that host's errors will be logged there and not here.
  297. #
  298. ErrorLog "logs/error.log"
  299.  
  300. #
  301. # LogLevel: Control the number of messages logged to the error_log.
  302. # Possible values include: debug, info, notice, warn, error, crit,
  303. # alert, emerg.
  304. #
  305. LogLevel warn
  306.  
  307. <IfModule log_config_module>
  308. #
  309. # The following directives define some format nicknames for use with
  310. # a CustomLog directive (see below).
  311. #
  312. LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
  313. LogFormat "%h %l %u %t \"%r\" %>s %b" common
  314.  
  315. <IfModule logio_module>
  316. # You need to enable mod_logio.c to use %I and %O
  317. LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
  318. </IfModule>
  319.  
  320. #
  321. # The location and format of the access logfile (Common Logfile Format).
  322. # If you do not define any access logfiles within a <VirtualHost>
  323. # container, they will be logged here. Contrariwise, if you *do*
  324. # define per-<VirtualHost> access logfiles, transactions will be
  325. # logged therein and *not* in this file.
  326. #
  327. #CustomLog "logs/access.log" common
  328.  
  329. #
  330. # If you prefer a logfile with access, agent, and referer information
  331. # (Combined Logfile Format) you can use the following directive.
  332. #
  333. CustomLog "logs/access.log" combined
  334. </IfModule>
  335.  
  336. <IfModule alias_module>
  337. #
  338. # Redirect: Allows you to tell clients about documents that used to
  339. # exist in your server's namespace, but do not anymore. The client
  340. # will make a new request for the document at its new location.
  341. # Example:
  342. # Redirect permanent /foo http://www.example.com/bar
  343.  
  344. #
  345. # Alias: Maps web paths into filesystem paths and is used to
  346. # access content that does not live under the DocumentRoot.
  347. # Example:
  348. # Alias /webpath /full/filesystem/path
  349. #
  350. # If you include a trailing / on /webpath then the server will
  351. # require it to be present in the URL. You will also likely
  352. # need to provide a <Directory> section to allow access to
  353. # the filesystem path.
  354.  
  355. #
  356. # ScriptAlias: This controls which directories contain server scripts.
  357. # ScriptAliases are essentially the same as Aliases, except that
  358. # documents in the target directory are treated as applications and
  359. # run by the server when requested rather than as documents sent to the
  360. # client. The same rules about trailing "/" apply to ScriptAlias
  361. # directives as to Alias.
  362. #
  363. ScriptAlias /cgi-bin/ "C:/xampp/cgi-bin/"
  364.  
  365. </IfModule>
  366.  
  367. <IfModule cgid_module>
  368. #
  369. # ScriptSock: On threaded servers, designate the path to the UNIX
  370. # socket used to communicate with the CGI daemon of mod_cgid.
  371. #
  372. #Scriptsock cgisock
  373. </IfModule>
  374.  
  375. #
  376. # "C:/xampp/cgi-bin" should be changed to whatever your ScriptAliased
  377. # CGI directory exists, if you have that configured.
  378. #
  379. <Directory "C:/xampp/cgi-bin">
  380. AllowOverride All
  381. Options None
  382. Require all granted
  383. </Directory>
  384.  
  385. <IfModule mime_module>
  386. #
  387. # TypesConfig points to the file containing the list of mappings from
  388. # filename extension to MIME-type.
  389. #
  390. TypesConfig conf/mime.types
  391.  
  392. #
  393. # AddType allows you to add to or override the MIME configuration
  394. # file specified in TypesConfig for specific file types.
  395. #
  396. #AddType application/x-gzip .tgz
  397. #
  398. # AddEncoding allows you to have certain browsers uncompress
  399. # information on the fly. Note: Not all browsers support this.
  400. #
  401. #AddEncoding x-compress .Z
  402. #AddEncoding x-gzip .gz .tgz
  403. #
  404. # If the AddEncoding directives above are commented-out, then you
  405. # probably should define those extensions to indicate media types:
  406. #
  407. AddType application/x-compress .Z
  408. AddType application/x-gzip .gz .tgz
  409.  
  410. #
  411. # AddHandler allows you to map certain file extensions to "handlers":
  412. # actions unrelated to filetype. These can be either built into the server
  413. # or added with the Action directive (see below)
  414. #
  415. # To use CGI scripts outside of ScriptAliased directories:
  416. # (You will also need to add "ExecCGI" to the "Options" directive.)
  417. #
  418. AddHandler cgi-script .cgi .pl .asp
  419.  
  420. # For type maps (negotiated resources):
  421. #AddHandler type-map var
  422.  
  423. #
  424. # Filters allow you to process content before it is sent to the client.
  425. #
  426. # To parse .shtml files for server-side includes (SSI):
  427. # (You will also need to add "Includes" to the "Options" directive.)
  428. #
  429. AddType text/html .shtml
  430. AddOutputFilter INCLUDES .shtml
  431. </IfModule>
  432.  
  433. #
  434. # The mod_mime_magic module allows the server to use various hints from the
  435. # contents of the file itself to determine its type. The MIMEMagicFile
  436. # directive tells the module where the hint definitions are located.
  437. #
  438. <IfModule mime_magic_module>
  439. #
  440. # The mod_mime_magic module allows the server to use various hints from the
  441. # contents of the file itself to determine its type. The MIMEMagicFile
  442. # directive tells the module where the hint definitions are located.
  443. #
  444. MIMEMagicFile "conf/magic"
  445. </IfModule>
  446.  
  447.  
  448. #
  449. # Customizable error responses come in three flavors:
  450. # 1) plain text 2) local redirects 3) external redirects
  451. #
  452. # Some examples:
  453. #ErrorDocument 500 "The server made a boo boo."
  454. #ErrorDocument 404 /missing.html
  455. #ErrorDocument 404 "/cgi-bin/missing_handler.pl"
  456. #ErrorDocument 402 http://www.example.com/subscription_info.html
  457. #
  458.  
  459. #
  460. # MaxRanges: Maximum number of Ranges in a request before
  461. # returning the entire resource, or one of the special
  462. # values 'default', 'none' or 'unlimited'.
  463. # Default setting is to accept 200 Ranges.
  464. #MaxRanges unlimited
  465.  
  466. #
  467. # EnableMMAP and EnableSendfile: On systems that support it,
  468. # memory-mapping or the sendfile syscall may be used to deliver
  469. # files. This usually improves server performance, but must
  470. # be turned off when serving from networked-mounted
  471. # filesystems or if support for these functions is otherwise
  472. # broken on your system.
  473. # Defaults: EnableMMAP On, EnableSendfile Off
  474. #
  475. #EnableMMAP off
  476. #EnableSendfile off
  477.  
  478. # Supplemental configuration
  479. #
  480. # The configuration files in the conf/extra/ directory can be
  481. # included to add extra features or to modify the default configuration of
  482. # the server, or you may simply copy their contents here and change as
  483. # necessary.
  484.  
  485. # Server-pool management (MPM specific)
  486. Include conf/extra/httpd-mpm.conf
  487.  
  488. # Multi-language error messages
  489. Include conf/extra/httpd-multilang-errordoc.conf
  490.  
  491. # Fancy directory listings
  492. Include conf/extra/httpd-autoindex.conf
  493.  
  494. # Language settings
  495. Include conf/extra/httpd-languages.conf
  496.  
  497. # User home directories
  498. Include conf/extra/httpd-userdir.conf
  499.  
  500. # Real-time info on requests and configuration
  501. Include conf/extra/httpd-info.conf
  502.  
  503. # Virtual hosts
  504. Include conf/extra/httpd-vhosts.conf
  505.  
  506. # Local access to the Apache HTTP Server Manual
  507. #Include conf/extra/httpd-manual.conf
  508.  
  509. # Distributed authoring and versioning (WebDAV)
  510. #Attention! WEB_DAV is a security risk without a new userspecific configuration for a secure authentifcation
  511. #Include conf/extra/httpd-dav.conf
  512.  
  513. # Various default settings
  514. #Include conf/extra/httpd-default.conf
  515. # Implements a proxy/gateway for Apache.
  516. Include "conf/extra/httpd-proxy.conf"
  517. # Various default settings
  518. Include "conf/extra/httpd-default.conf"
  519. # XAMPP settings
  520. Include "conf/extra/httpd-xampp.conf"
  521.  
  522. # Configure mod_proxy_html to understand HTML4/XHTML1
  523. <IfModule proxy_html_module>
  524. Include conf/extra/proxy-html.conf
  525. </IfModule>
  526.  
  527. # Secure (SSL/TLS) connections
  528. Include conf/extra/httpd-ssl.conf
  529. #
  530. # Note: The following must must be present to support
  531. # starting without SSL on platforms with no /dev/random equivalent
  532. # but a statically compiled-in mod_ssl.
  533. #
  534. <IfModule ssl_module>
  535. SSLRandomSeed startup builtin
  536. SSLRandomSeed connect builtin
  537. </IfModule>
  538. #
  539. # uncomment out the below to deal with user agents that deliberately
  540. # violate open standards by misusing DNT (DNT *must* be a specific
  541. # end-user choice)
  542. #
  543. #<IfModule setenvif_module>
  544. #BrowserMatch "MSIE 10.0;" bad_DNT
  545. #</IfModule>
  546. #<IfModule headers_module>
  547. #RequestHeader unset DNT env=bad_DNT
  548. #</IfModule>
  549.  
  550. # XAMPP: We disable operating system specific optimizations for a listening
  551. # socket by the http protocol here. IE 64 bit make problems without this.
  552.  
  553. AcceptFilter http none
  554.  
  555. # AJP13 Proxy
  556. <IfModule mod_proxy.c>
  557. <IfModule mod_proxy_ajp.c>
  558. Include "conf/extra/httpd-ajp.conf"
  559. </IfModule>
  560. </IfModule>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement