Kadang-kadang terjadi ketika mencoba mengakses situs web Anda, alih-alih mengeksekusi file PHP, mereka mencoba mengunduh langsung ke komputer Anda
Dalam posting ini kami akan memberi tahu Anda mengapa masalah ini biasanya terjadi dan bagaimana cara mengatasinya
Mengapa ini terjadi?
Secara umum hal ini dapat terjadi karena ada beberapa konfigurasi di situs atau server yang mencegah interpretasi jenis skrip tertentu dan mengubahnya menjadi file yang dapat diunduh
Alasan paling sering mengapa hal ini terjadi adalah karena ada beberapa instruksi di dalamnya. htaccess yang membatasi interpretasi skrip
Imgur
htaccess
Kode
<IfModule mod_rewrite.c> RewriteEngine on #RewriteBase /shopware/ # Https config for the backend #RewriteCond %{HTTPS} !=on #RewriteRule backend/(.*) //%{HTTP_HOST}%{REQUEST_URI} [L,R=301] RewriteRule shopware.dll shopware.php RewriteRule files/documents/.* engine [NC,L] RewriteRule backend/media/(.*) media/$1 [NC,L] RewriteCond %{REQUEST_URI} !(\/(engine|files|templates|themes|web)\/) RewriteCond %{REQUEST_URI} !(\/media\/(archive|banner|image|music|pdf|unknown|video)\/) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ shopware.php [PT,L,QSA] # Fix missing authorization-header on fast_cgi installations RewriteRule .* - [E=HTTP_AUTHORIZATION:%{Authorization},L] </IfModule> <IfModule mod_alias.c> # Block access to VCS directories RedirectMatch 404 /\\.(svn|git|hg|bzr|cvs)(/|$) # Restrict access to root folder files RedirectMatch 404 /(composer\.(json|lock)|README\.md|UPGRADE\.md)$ </IfModule> # Staging environment #SetEnvIf Host "staging.test.shopware.in" SHOPWARE_ENV=staging # Development environment #SetEnvIf Host "dev.shopware.in" SHOPWARE_ENV=dev #SetEnv SHOPWARE_ENV dev DirectoryIndex index.html DirectoryIndex index.php DirectoryIndex shopware.php # Disables download of configuration <Files ~ "\.(tpl|yml|ini)$"> # Deny all requests from Apache 2.4+. <IfModule mod_authz_core.c> Require all denied </IfModule> # Deny all requests from Apache 2.0-2.2. <IfModule !mod_authz_core.c> Deny from all </IfModule> </Files> # Enable gzip compression <IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/html text/xml text/plain text/css text/javascript application/javascript application/json application/font-woff application/font-woff2 image/svg+xml </IfModule> <Files ~ "\.(jpe?g|png|gif|css|js|woff|eot)$"> <IfModule mod_expires.c> ExpiresActive on ExpiresDefault "access plus 1 month" </IfModule> <IfModule mod_headers.c> Header append Cache-Control "public" Header unset ETag </IfModule> FileETag None </Files> # Match generated files like: # 1429684458_t22_s1.css # 1429684458_t22_s1.js <FilesMatch "([0-9]{10})_(.+)\.(js|css)$"> <ifModule mod_headers.c> Header set Cache-Control "max-age=31536000, public" </ifModule> <IfModule mod_expires.c> ExpiresActive on ExpiresDefault "access plus 1 year" </IfModule> </FilesMatch> # Disables auto directory index <IfModule mod_autoindex.c> Options -Indexes </IfModule> <IfModule mod_negotiation.c> Options -MultiViews </IfModule> <IfModule mod_php5.c> # php_value memory_limit 256M # php_value max_execution_time 120 # php_value upload_max_filesize 20M php_flag phar.readonly off php_flag magic_quotes_gpc off php_flag session.auto_start off php_flag suhosin.session.cryptua off php_flag zend.ze1_compatibility_mode off php_value always_populate_raw_post_data -1 </IfModule> # AddType x-mapp-php5 .php # AddHandler x-mapp-php5 .php <IfModule mod_headers.c> Header append X-Frame-Options SAMEORIGIN </IfModule>
Halaman kedua pelanggan yang juga merupakan toko memiliki hal yang sama. htaccess dan bekerja
saya punya. php yang saya inginkan agar dapat diunduh oleh pengunjung situs web saya. (Ini sebuah contoh. file php. )
Bagaimana saya bisa mengatur tautan ke contoh. php sehingga diunduh sebagai file yang dapat mereka "simpan" alih-alih dijalankan di server?
(Saya harap itu masuk akal. )
Saya telah berpikir untuk mengganti nama file menjadi “contoh. txt", tapi itu bisa jadi rumit, dan masih tidak memungkinkan mereka untuk menyimpan tanpa terlebih dahulu memilih/menempel, dll