Привет всем! Частая проблема, прочитал много по этому поводу но так нифига и не понял.
У меня все ссылки на сайте следующего типа: contactinf
вместо contactinf.php
и так для всех файлов и файлов в субдиректориях. Достигнуто с помощью PHP + .htaccess кода:
PHP:
if(stristr($_SERVER['REQUEST_URI'], ".php")){
$currentPage = $_SERVER['PHP_SELF'];
$shortCut = str_replace(".php", "", $currentPage);
header("Location:".$shortCut);
}
.htaccess:
Options +MultiViews
В nginx такая хрень не работает, и все мои ссылки перестали работать из-за того, что я не указал .php
в конце ссылки. Если надо, то прикреплю полный конфиг nginx.conf
файла:
#load_module "modules/ngx_http_image_filter_module.so";
#load_module "modules/ngx_http_perl_module.so";
#load_module "modules/ngx_http_xslt_filter_module.so";
#load_module "modules/ngx_mail_module.so";
#load_module "modules/ngx_stream_module.so";
user root admin;
worker_processes 4;
events {
worker_connections 27000;
}
http {
include mime.types;
default_type text/html;
charset utf-8;
error_page 500 http://localhost/errors/undefined;
error_page 404 http://localhost/errors/undefined;
error_page 403 http://localhost/errors/undefined;
gzip on;
gzip_types text/css text/x-component application/x-javascript application/javascript text/javascript text/x-js text/richtext image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon image/png image/jpeg;
sendfile on;
server {
listen 80 default_server;
# MAMP DOCUMENT_ROOT !! Don't remove this line !!
root "/Users/eugen/Documents/HTML,CSS,PHP, JavaScript,XML lessons/ER website/en/";
access_log /Applications/MAMP/logs/nginx_access.log;
error_log /Applications/MAMP/logs/nginx_error.log;
location / {
index index.html index.htm index.php;
#Deny access for commom bad bots spiders and robots
if (!-e $request_filename){
return 403;}
if ($query_string ~ "GLOBALS(=|\[|\%[0-9A-Z]{0,2})"){
return 403;}
if ($query_string ~ "FILES(=|\[|\%[0-9A-Z]{0,2})"){
return 403;}
if ($query_string ~ "_REQUEST(=|\[|\%[0-9A-Z]{0,2})"){
return 403;}
if ($http_user_agent ~* "^BlackWidow"){
return 403;}
if ($http_user_agent ~* "^Bot\ mailto:craftbot@yahoo.com"){
return 403;}
if ($http_user_agent ~* "^ChinaClaw"){
return 403;}
if ($http_user_agent ~* "^Custo"){
return 403;}
if ($http_user_agent ~* "^DISCo"){
return 403;}
if ($http_user_agent ~* "^Download\ Demon"){
return 403;}
if ($http_user_agent ~* "^eCatch"){
return 403;}
if ($http_user_agent ~* "^EirGrabber"){
return 403;}
if ($http_user_agent ~* "^EmailSiphon"){
return 403;}
if ($http_user_agent ~* "^EmailWolf"){
return 403;}
if ($http_user_agent ~* "^Express\ WebPictures"){
return 403;}
if ($http_user_agent ~* "^ExtractorPro"){
return 403;}
if ($http_user_agent ~* "^EyeNetIE"){
return 403;}
if ($http_user_agent ~* "^FlashGet"){
return 403;}
if ($http_user_agent ~* "^GetRight"){
return 403;}
if ($http_user_agent ~* "^GetWeb!"){
return 403;}
if ($http_user_agent ~* "^Go!Zilla"){
return 403;}
if ($http_user_agent ~* "^Go-Ahead-Got-It"){
return 403;}
if ($http_user_agent ~* "^GrabNet"){
return 403;}
if ($http_user_agent ~* "^Grafula"){
return 403;}
if ($http_user_agent ~* "^HMView"){
return 403;}
if ($http_user_agent ~* "HTTrack"){
return 403;}
if ($http_user_agent ~* "^Image\ Stripper"){
return 403;}
if ($http_user_agent ~* "^Image\ Sucker"){
return 403;}
if ($http_user_agent ~* "Indy\ Library"){
return 403;}
if ($http_user_agent ~* "^InterGET"){
return 403;}
if ($http_user_agent ~* "^Internet\ Ninja"){
return 403;}
if ($http_user_agent ~* "^JetCar"){
return 403;}
if ($http_user_agent ~* "^JOC\ Web\ Spider"){
return 403;}
if ($http_user_agent ~* "^larbin"){
return 403;}
if ($http_user_agent ~* "^LeechFTP"){
return 403;}
if ($http_user_agent ~* "^Mass\ Downloader"){
return 403;}
if ($http_user_agent ~* "^MIDown\ tool"){
return 403;}
if ($http_user_agent ~* "^Mister\ PiX"){
return 403;}
if ($http_user_agent ~* "^Navroad"){
return 403;}
if ($http_user_agent ~* "^NearSite"){
return 403;}
if ($http_user_agent ~* "^NetAnts"){
return 403;}
if ($http_user_agent ~* "^NetSpider"){
return 403;}
if ($http_user_agent ~* "^Net\ Vampire"){
return 403;}
if ($http_user_agent ~* "^NetZIP"){
return 403;}
if ($http_user_agent ~* "^Octopus"){
return 403;}
if ($http_user_agent ~* "^Offline\ Explorer"){
return 403;}
if ($http_user_agent ~* "^Offline\ Navigator"){
return 403;}
if ($http_user_agent ~* "^PageGrabber"){
return 403;}
if ($http_user_agent ~* "^Papa\ Foto"){
return 403;}
if ($http_user_agent ~* "^pavuk"){
return 403;}
if ($http_user_agent ~* "^pcBrowser"){
return 403;}
if ($http_user_agent ~* "^RealDownload"){
return 403;}
if ($http_user_agent ~* "^ReGet"){
return 403;}
if ($http_user_agent ~* "^SiteSnagger"){
return 403;}
if ($http_user_agent ~* "^SmartDownload"){
return 403;}
if ($http_user_agent ~* "^SuperBot"){
return 403;}
if ($http_user_agent ~* "^SuperHTTP"){
return 403;}
if ($http_user_agent ~* "^Surfbot"){
return 403;}
if ($http_user_agent ~* "^tAkeOut"){
return 403;}
if ($http_user_agent ~* "^Teleport\ Pro"){
return 403;}
if ($http_user_agent ~* "^VoidEYE"){
return 403;}
if ($http_user_agent ~* "^Web\ Image\ Collector"){
return 403;}
if ($http_user_agent ~* "^Web\ Sucker"){
return 403;}
if ($http_user_agent ~* "^WebAuto"){
return 403;}
if ($http_user_agent ~* "^WebCopier"){
return 403;}
if ($http_user_agent ~* "^WebFetch"){
return 403;}
if ($http_user_agent ~* "^WebGo\ IS"){
return 403;}
if ($http_user_agent ~* "^WebLeacher"){
return 403;}
if ($http_user_agent ~* "^WebReaper"){
return 403;}
if ($http_user_agent ~* "^WebSauger"){
return 403;}
if ($http_user_agent ~* "^Website\ eXtractor"){
return 403;}
if ($http_user_agent ~* "^Website\ Quester"){
return 403;}
if ($http_user_agent ~* "^WebStripper"){
return 403;}
if ($http_user_agent ~* "^WebWhacker"){
return 403;}
if ($http_user_agent ~* "^WebZIP"){
return 403;}
if ($http_user_agent ~* "^Wget"){
return 403;}
if ($http_user_agent ~* "^Widow"){
return 403;}
if ($http_user_agent ~* "^WWWOFFLE"){
return 403;}
if ($http_user_agent ~* "^Xaldon\ WebSpider"){
return 403;}
if ($http_user_agent ~* "^Zeus"){
return 403;}
rewrite ^(/.*)\.php(\?.*)?$ $1$2 permanent;
rewrite ^/(.*)/$ /$1 permanent;
try_files $uri/index.php $uri.php $uri/ $uri =404;
}
location ~* /MAMP[^-]*(.*)$ {
root /Applications/MAMP/bin;
index index.php;
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/Applications/MAMP/Library/logs/fastcgi/nginxFastCGI.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
location ~* /phpMyAdmin(.*)$ {
root /Applications/MAMP/bin;
index index.php;
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/Applications/MAMP/Library/logs/fastcgi/nginxFastCGI.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
location ~* /phpPgAdmin(.*)$ {
root /Applications/MAMP/bin;
index index.php;
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/Applications/MAMP/Library/logs/fastcgi/nginxFastCGI.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
location ~* /phpLiteAdmin(.*)$ {
root /Applications/MAMP/bin;
index index.php;
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/Applications/MAMP/Library/logs/fastcgi/nginxFastCGI.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
location ~* /SQLiteManager(.*)$ {
root /Applications/MAMP/bin;
index index.php;
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/Applications/MAMP/Library/logs/fastcgi/nginxFastCGI.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
location ~* /adminer(.*)$ {
root /Applications/MAMP/bin;
index adminer.php;
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/Applications/MAMP/Library/logs/fastcgi/nginxFastCGI.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
location ~ .(ini|phps|log|txt|rtf)$ {
deny all;
allow 192.168.0.101;
allow 192.168.0.100;
allow 192.168.0.102;
allow 93.75.31.82;
allow 127.0.0.1;
}
location /icons {
alias /Applications/MAMP/Library/icons;
autoindex on;
}
location /favicon.ico {
alias /Applications/MAMP/bin/favicon.ico;
# log_not_found off;
# access_log off;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/Applications/MAMP/Library/logs/fastcgi/nginxFastCGI.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\. {
deny all;
}
# location ~* \.(gif|jpg|png|pdf)$ {
# expires 30d;
# }
# location = /robots.txt {
# allow all;
# log_not_found off;
# access_log off;
# }
# location ~* \.(txt|log)$ {
# allow 127.0.0.1;
# deny all;
# }
# location ~ \..*/.*\.php$ {
# return 403;
# }
location /nginx_status {
stub_status on;
access_log off;
allow 127.0.0.1;
deny all;
}
}
# HTTPS server
#
#server {
# listen 443 ssl;
# server_name localhost;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 5m;
# ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;
# location / {
# root html;
# index index.html index.htm;
# }
#}
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Как сделать так, чтобы, если приходит ответ сервера от VK API {"response":1}, то выполнялся код который в ifЕсли это не так то else
Здравствуйте, я java разработчик и недавно пришлось сесть на бэкенд и писать на phpНо мне не нравится процедурный стиль кода
Есть API сайта, но API привязано к IP адресу клиентаА так как для сайта разрабатывает мобильное приложение (где у клиентов будут разные IP), то нужно...