告诉我如何重定向到某些页面 有一个站点,有 nginx nginx 设置
location / {
location ~ [^/]\.ph(p\d*|tml)$ {
try_files /does_not_exists @php;
}
location / {
try_files $uri /index.html;
}
}
该站点在 ajax 上——也就是说,所有请求都转到 index.html,并且 js 已经处理了哈希并给出了某些内容。
有一个php文件要发送到邮件
如果请求是http://site.ru/prices?_escaped_fragment_=则返回其特定目录的页面,例如 /static/prices.html
http://site.ru/about?_escaped_fragment_= - /static/about.html
如果已经有设置怎么写这个异常
location / {
try_files $uri /index.html;
}
您可以使用自己的位置对每个页面进行硬编码
无法使用rewrite,因为它不在nginx的初始组装中,没有办法重新构建nginx
server {
server_name site.ru www.site.ru;
charset off;
disable_symlinks if_not_owner from=$root_path;
index index.html;
root $root_path;
set $root_path /var/www/user/data/www/site.ru;
access_log /var/www/httpd-logs/site.ru.access.log ;
error_log /var/www/httpd-logs/site.ru.error.log notice;
include /etc/nginx/vhosts-includes/*.conf;
gzip on;
gzip_disable "msie6";
gzip_types
application/atom+xml
application/javascript
application/json
application/rss+xml
application/vnd.ms-fontobject
application/x-font-ttf
application/x-web-app-manifest+json
application/xhtml+xml
application/xml
font/opentype
image/svg+xml
image/x-icon
image/png
image/gif
image/jpeg
image/jpg
text/css
text/plain
text/x-component;
location /about$ {
if ($args ~* "_escaped_fragment_") {
set $args "";
rewrite ^/.* http://yandex.ru permanent;
}
}
location /prices$ {
if ($args ~* "_escaped_fragment_") {
set $args "";
rewrite ^/.* http://yandex.ru permanent;
}
}
location / {
location ~ [^/]\.ph(p\d*|tml)$ {
try_files /does_not_exists @php;
}
location / {
try_files $uri /index.html;
}
}
location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf|woff)$ {
expires 30d;
etag on;
}
location @fallback {
}
location @php {
fastcgi_index index.php;
fastcgi_param PHP_ADMIN_VALUE "sendmail_path = /usr/sbin/sendmail -t -i -f webmaster@site.ru
";
fastcgi_pass unix:/var/www/php-fpm/user.sock;
fastcgi_split_path_info ^((?U).+\.ph(?:p\d*|tml))(/?.+)$;
try_files $uri =404;
include fastcgi_params;
}
ssi on;
listen xxx.xxx.xxx.xxx:80;
}
将以下代码粘贴到示例中您所在位置之前的服务器部分:
根据添加到问题中的代码,这是完整的服务器部分:
有日志的行被注释掉了,因为我没有这样的文件夹,也不影响什么。注释掉了
include /etc/nginx/vhosts-includes/*.conf;
——我不知道里面有什么。我上面的代码发生了很大变化(仅在位置部分)- 它在 WordPress 测试站点上运行,并且还有我自己的重定向。
已经为测试创建了一个特殊站点
so-665808.kagg.eu
。它包含三个文件:输入地址时
有一个过渡到
输入地址时
有一个过渡到
查看。