小编MrW*_*ite的帖子

Apache 2 mod_rewrite - 如何读取 POST 参数?

我想使用 mod_rewrite 来读取 POST 请求中发送的参数。我需要检查值并处理请求。

mod-rewrite http apache-2.2

5
推荐指数
2
解决办法
4910
查看次数

错误标头:将缓存标头放入 htaccess 文件后 ap_headers_output_filter()

接收错误:

[调试] mod_headers.c(663): headers: ap_headers_output_filter()

在我将其包含在.htaccess文件中之后:

# 6 DAYS
<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$">
Header set Cache-Control "max-age=518400, public"
</FilesMatch>
 
# 2 DAYS
<FilesMatch "\.(xml|txt)$">
Header set Cache-Control "max-age=172800, public, must-revalidate"
</FilesMatch>
 
# 2 HOURS
<FilesMatch "\.(html|htm)$">
Header set Cache-Control "max-age=7200, must-revalidate"
</FilesMatch>
Run Code Online (Sandbox Code Playgroud)

对于我可以做些什么来解决这个问题,任何帮助表示赞赏?

linux php cache .htaccess apache-2.2

5
推荐指数
1
解决办法
1万
查看次数

如何使用 .htaccess 在没有硬编码的情况下将非 www 重定向到 www?

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
Run Code Online (Sandbox Code Playgroud)

...导致从“www 到非 www”的完美的非硬编码 301 重定向,完全相反的情况会是什么样子?

编辑:

根据 Prix 的帖子,我已将.htaccess文件更改为以下内容:

Options +FollowSymLinks
<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /
  RewriteCond %{HTTPS} !=on
  RewriteCond %{HTTP_HOST} !^www\.(.+)$ [NC]
  RewriteRule ^(.*)$ http://www.%1/$1 [R=301,L]
</IfModule>
Run Code Online (Sandbox Code Playgroud)

如前所述,http://www./不幸的是,这重定向到。谁能帮忙?

rewrite .htaccess 301-redirect apache-2.2

5
推荐指数
1
解决办法
2万
查看次数

将错误 400 错误请求重定向到自定义页面的问题

我已将我的.htaccess文件编辑为以下内容:

ErrorDocument 404 /index.php?page=page-not-found
ErrorDocument 400 /index.php?page=bad-request
Run Code Online (Sandbox Code Playgroud)

现在错误 404 正确重定向,但是如果我输入一个地址,例如http://example.com/%22%%5E$%%5E&%C2%A3&服务器不会重定向 400 错误,而是显示默认的 apache 消息。我究竟做错了什么?

.htaccess errordocument apache-2.2

4
推荐指数
1
解决办法
1万
查看次数

使用 .htaccess 中的 Files 指令预加载链接

我目前正在为 WordPress 上的一个网页预加载字体文件。

所以https://example.com没有预装。https://example.com/test/预加载的字体文件。

这就是我所得到的.htaccess

<Files "/test/">
Header add Link "</fonts/poppins.woff2>; rel=preload; as=font; type=font/woff2; crossorigin"
</Files>`
Run Code Online (Sandbox Code Playgroud)

该链接工作正常,这是我正在努力解决的条件加载。尝试添加通配符,加上完整的 URL 等,但没有任何乐趣。

我是否认为这不是语法,但它需要允许才能起作用?

.htaccess

4
推荐指数
1
解决办法
1415
查看次数

.htaccess Redirect 301 with trailing slash 将尾部斜线添加到目标

刚刚重新完成了我的网站,并尝试在 .htaccess 文件中为已更改的链接设置重定向

这工作正常,但它不适用于/example/(在源路径上带有斜杠)

Redirect 301 /example /example.php
Run Code Online (Sandbox Code Playgroud)

所以我添加了这个来解释尾部斜杠:

Redirect 301 /example/ /example.php
Run Code Online (Sandbox Code Playgroud)

但这会重定向到example.php/(向目标添加斜杠,这不起作用)

显然我做错了。什么是更好的方法?

.htaccess redirect

4
推荐指数
1
解决办法
1587
查看次数

RewriteRules 不会以 LAST 标志停止?

我似乎遇到了 Apache 2.2 的 Rewrite 模块(在 FreeBSD 8 上运行)的问题。我的.htaccess文件如下:

Options -Indexes

RewriteEngine on
RewriteRule ^xpaste$ cross.php [L]
RewriteRule ^x([a-f0-9]*)$ cross.php?id=$1 [L]
RewriteRule ^(gen|[a-f0-9]+)$ index.php?$1 [L]
RewriteRule ^(.*)$ index.php [L] 
Run Code Online (Sandbox Code Playgroud)

然而不知何故,最后一条规则覆盖了其他三条规则。一旦我将其注释掉,其他规则就会按预期工作:

  • www.example.com/xpaste 打开 cross.php
  • www.example.com/x132633 打开 cross.php?id=132633
  • www.example.com/gen 打开 index.php?gen

我已经试过的各种组合LNSS=n每个标志RewriteRule,但除非我注释掉最后一条规则,一切都被定向到index.phpRewriteRule一旦找到匹配项,如何让 Apache 停止处理s?

mod-rewrite rewrite .htaccess apache-2.2

3
推荐指数
1
解决办法
8209
查看次数

Apache 重定向到 index.php

我在运行 apache 2.4 的 Centos 6.5 上有以下虚拟主机配置。

<VirtualHost *:4323>
        ServerName www.first.com
        ServerAlias first.com
        DocumentRoot /var/www/first.com
        DirectoryIndex index.html
        RewriteEngine on
        RewriteRule ^index\.html$ index.php$1 [L,R=301]
        ErrorLog /var/www/first.com/log/error.log
        CustomLog /var/www/first.com/log/requests.log combined
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

当我转到server_IP:4323默认的 HTTP 页面时。我怎样才能让重定向index.php工作?

httpd.conf配置是这里

下面的 apache 详细信息 -

Server version: Apache/2.2.15 (Unix)
Server built:   Mar 22 2016 19:03:53
Server's Module Magic Number: 20051115:25
Server loaded:  APR 1.3.9, APR-Util 1.3.9
Compiled using: APR 1.3.9, APR-Util 1.3.9
Architecture:   64-bit
Server MPM:     Prefork
  threaded:     no
    forked:     yes …
Run Code Online (Sandbox Code Playgroud)

virtualhost apache-2.2

3
推荐指数
1
解决办法
2万
查看次数

使用 mod_rewrite 在 apache 中通过模式阻止来自机器人的请求。mod_rewrite 不起作用

我正在尝试通过glitter_calendarapache 上的模式阻止来自机器人的请求。

史前。我的服务器经常被机器人访问。请求 URI 是 ...glitter_calendar.. wordpress 返回 404。服务器甚至每周宕机一次。我尝试用 Fail2ban 阻止它们。没有成功。服务器负载不会下降,我的 iptables 块规则中不断出现新主机。

在我的.htaccess我试图通过模式添加阻止规则glitter_calendar

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{THE_REQUEST} ^.*(wpdffcontent)|(glitter_calendar)|(mp4:).* [NC]
RewriteRule ^(.*)$ - [F,L]
</IfModule>

<Files xmlrpc.php>
Order Deny,Allow
Deny from all
</Files>
Run Code Online (Sandbox Code Playgroud)

发现类似的问题。链接:

我的 mod 重写似乎不起作用。我在 wordpress 中找不到错误 404,而不是通过 …

mod-rewrite .htaccess botnet apache-2.2

3
推荐指数
1
解决办法
2443
查看次数

Wordpress 中的永久链接不适用于 Google Cloud Platform

三个星期以来,我一直在努力使 Wordpress 中的永久链接设置在 Google Cloud Platform 上工作。这是对我所拥有的、我正在尝试做的以及我已经尝试过的内容的快速总结。

我在 GCP 上有两台服务器都遇到了同样的问题。

服务器 1(迁移服务器) 该服务器有四个 Wordpress 站点,我是从共享托管服务提供商那里迁移过来的。所有这四个 WordPress 网站都有问题,除非我使用 WordPress 设置下固定链接部分中的第一个设置。操作系统:Debian 8 网站:www.example.com

Server 2 (Google Deployed) 该服务器是一个单独的 Wordpress 部署,使用 Google 的预构建 wordpress 实例部署启动。操作系统:Debian 8 Wordpress:4.8

永久链接问题: 在 Wordpress -> 设置 -> 永久链接 -> 如果我选择“普通 - http://example.com/?p=123”,我可以加载网站的首页并导航到任何子页面。如果我选择“Plain”以外的任何其他内容,无论是“日期和名称”、“月份和名称”、“数字”、“帖子名称”还是“自定义结构”,那么我只能加载网站的首页我无法加载任何其他页面。当我尝试加载任何其他页面时,我收到以下错误:

Not Found/loopstats/在此服务器上找不到请求的 URL 。Apache/2.4.10 (Debian) 服务器在 example.com 端口 80

现在他是真正的踢球者,Server 2 (GCP Deployed),我使用 Google 部署管理器来启动 Wordpress 实例,Permalinks 的默认设置是“自定义”选项,带有以下 slug:

/index.php/%year%/%monthnum%/%day%/%postname%/
Run Code Online (Sandbox Code Playgroud)

同样,如果我使用此自定义链接以外的任何其他设置,我只能加载首页并且所有其他链接都已损坏。

当我回到服务器 1(迁移服务器),并在自定义字段中输入这个 slug 时,一切都在服务器 1 上工作。但这对我不起作用,因为我现在留下了这些令人难以置信的讨厌的链接包含 index.php。(我被告知这对于 SEO 目的来说很糟糕)。

我尝试过的事情:

  1. 谷歌搜索的日子。我对 …

.htaccess wordpress permalinks google-cloud-platform

3
推荐指数
1
解决办法
5691
查看次数