我www.example.com/advice/现在有以下网址注意到网址末尾的斜杠了吗?我希望将其删除为类似www.example.com/advice. 现在,当我在浏览器中输入该 URL 时,我会被重定向到带有尾部斜杠的 URL,例如使用 curl 也是如此。现在我知道尾部斜杠被添加了,因为建议是一个实际的目录。
[steve@dev dev.www.example.com]$ curl -I https://dev.www.example.com/advice -k
HTTP/1.1 301 Moved Permanently
Date: Fri, 25 Nov 2016 08:20:11 GMT
Server: Apache/2.4.6 (CentOS)
Location: https://dev.www.example.com/advice/
Cache-Control: max-age=0
Expires: Fri, 25 Nov 2016 08:20:11 GMT
Connection: close
Content-Type: text/html; charset=iso-8859-1
Run Code Online (Sandbox Code Playgroud)
[steve@dev dev.www.example.com]$ curl -I https://dev.www.example.com/advice/ -k
HTTP/1.1 200 OK
Date: Fri, 25 Nov 2016 08:21:19 GMT
Server: Apache/2.4.6 (CentOS)
X-Powered-By: PHP/5.6.27
Set-Cookie: flarum_session=mfbou2hcbvcobhncnaqlvl9bm7; Path=/; HttpOnly
X-CSRF-Token: WV69M1oi8POqOcXi6MvwKhbJQ72Tmo2WpFn3oxwq
Content-Length: 10339
Cache-Control: max-age=0
Expires: Fri, …Run Code Online (Sandbox Code Playgroud) 我已经从 apache 2.2.22 切换到 apache 2.4.10,突然之间,我用来访问某些日志的别名不再起作用。
这是我的配置文件:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName mdvns-sequencer
DocumentRoot /var/www/
<Directory /var/log/mdvns/>
Order allow,deny
Allow from all
Options +Indexes
</Directory>
Alias /logs/ /var/log/mdvns/
<Directory /var/www>
AddHandler cgi-script .py
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
当我尝试访问 /logs/ (我设置的别名)时,我收到 403 禁止。error.log 有以下消息:
[Sat Jan 01 00:38:25.348732 2000] [authz_core:error] [pid 1256:tid …Run Code Online (Sandbox Code Playgroud) conf/httpd.conf如果同一个文件中的同一个参数有不同的配置/conf.d/*,哪个优先?
我无法在任何官方文档中找到明确说明的\xe2\x80\x99。
\n/etc/sysconfig我试图通过使用变量列表并在使用 systemd 嵌入式配置文件启动 Apache 时加载环境变量,使我的配置尽可能灵活且易于配置。由于环境变量在服务器启动后不会改变,因此我想通过使用 Apache 的IfDefine指令而不是常规If指令来提高性能和灵活性。
常规指令的问题之一<If>... </If>是块内的指令即使没有被执行也总是被计算。如果您使用环境变量作为参数,这一点非常重要,如下所示:
SVNParentPath ${MY_SVN_REPOSITORIES_PATH}
Run Code Online (Sandbox Code Playgroud)
${MY_SVN_REPOSITORIES_PATH}在这种情况下,如果计算结果为空字符串,Apache 将抛出错误并拒绝启动。我想在系统环境变量MY_SVN_REPOSITORIES_PATH为空或未设置时禁用服务存储库。我该怎么做呢?
在带有centos 面板的 VPS 上,我将 Apache 作为网络服务器,将 Nginx 作为反向代理。
我听说第二个比 Apache 快来处理 PHP 请求,我想将它配置为 1 个网站的 WebServer,但我仍然需要 Apache 来处理另一个网站。
是否可以?
我的目标是加快php页面的服务时间。例如 wp-admin/admin-ajax.php 需要 7 秒来渲染!!!我希望 0.5 秒。
我正在尝试配置一个托管的 Apache 服务器,通过.htaccess,执行.asp带有 PHP 扩展名的文件。但我不知道正确handler-name的AddHandler是什么。
原因是我们有一个 GET 请求.asp文件的 Flash 应用程序。我们将.asp用 PHP重写文件,但我们无法更改 Flash 应用程序(我们甚至没有源代码)。
我曾尝试使用AddHandler和AddType指令。
AddHandler php-fcgid .php .asp
AddType application/x-httpd-php .asp
AddHandler application/x-httpd-php7 .asp
Run Code Online (Sandbox Code Playgroud)
我试图无济于事的指令示例
大多数都没有指定输入文件。或将 mime-type 设置application/x-httpd-php为 for .phpfiles(技术上设置Content-TypeHTTP 标头)。
现在,我完全理解AddHandler并且AddType- 我找到的最好的资源是https://www.webmasterworld.com/apache/4557229.htm#msg4557505。
主机有一个看起来像是用于管理服务器的自定义仪表板。我可以将 PHP 版本从 5.4 更改为 7.0 并更改php.ini.
我上传了一个phpinfo();我认为相关的一些值在下面发布。Apache 版本未知,因为它只是报告Server: Apache …
许多网站提供 .htaccess 代码来阻止垃圾邮件机器人、垃圾邮件推荐等。
一些网站在“.”之前使用“\”。在域名中。例如:
RewriteCond %{HTTP_REFERER} spamdomain\.com [NC,OR]
SetEnvIfNoCase Referer spamdomain\.com spambot=yes
Run Code Online (Sandbox Code Playgroud)
但有些网站使用直接域名。例如:
RewriteCond %{HTTP_REFERER} spamdomain.com [NC,OR]
SetEnvIfNoCase Referer spamdomain.com spambot=yes
Run Code Online (Sandbox Code Playgroud)
现在我很困惑哪种代码语法是正确的?两个代码都能正常工作吗?我应该使用哪一种?
我有一个 Apache2 网站,其中几个不同的资源都直接安装在 DocumentRoot 下:
目标:我希望用户通过键入http://example.com,而不是http://example.com/wordpress. 但我还需要能够访问根目录下的其他资源。例如,URLhttp://example.com/mycodeigniterapp仍然需要按原样工作吗?
问:在不“破坏”任何现有功能的情况下,从 URL 中“隐藏”“wordpress”一词的好方法是什么?
先感谢您!
当我想执行 php 文件时,它会在浏览器中显示为文本。
我在 Hostinger 有一个 VPS,我安装了带有 Webmin 和 LAMP 的 Ubuntu 18.04(自动安装)。
我检查了安装,见下文。
apache2 - v并php -v给了我:Apache/2.4.29和 PHP7.2.24-0ubuntu0.18.04.6
所以一切似乎都安装正确。
我的默认文件夹是 /var/www/html/ 我不在我的代码中使用短标签。
我尝试午餐一个名为 phpinfo.php 的文件,内容如下:
<?php
phpinfo();
?>
Run Code Online (Sandbox Code Playgroud)
并且纯文本出现在页面上。
如果文件以 html 代码开头,则即使使用 .php 文件,它也会正确呈现。但是php部分没有执行。例如:
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<h1>Hello</h1>
</body>
</html>
<?php
phpinfo();
?>
Run Code Online (Sandbox Code Playgroud)
渲染:你好
但
<?php
phpinfo();
?>
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<h1>Hello</h1>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
将代码呈现为纯文本。
我努力将我的 Apache 服务器设置为包含Greenlight 的docker 的反向代理实例的 docker 的反向代理。
\n在官方文档中,建议在 docker 容器中运行 Greenlight,并使用 Nginx 实例作为反向代理(主要是为了更容易与BBB 服务器一起运行)一起运行它)。\n但在我的设置中,我不想运行自己的 BBB实例,而是使用 Greenlight 作为外部 BBB 服务器的前端。
\n但为了方便起见,我还是在 Docker 容器中设置了 Greenlight。
\n但由于我的服务器有很多用途(主要是用于交付多个网站并提供由Froxlor管理的电子邮件帐户,但它也可以用作Matrix 服务器)我不想将 Nginx 设置为代理,因为那样会迫使我大幅改变我实际运行的 Froxlor 管理的 Apache 设置。
\n所以我尝试将 Apache 配置为反向代理。不幸的是,文档中只有一个 Nginx 示例:
\nlocation /b {\n proxy_pass http://127.0.0.1:5000;\n proxy_set_header Host $host;\n proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n proxy_set_header X-Forwarded-Proto $scheme;\n proxy_http_version 1.1;\n}\n\nlocation /b/cable {\n proxy_pass http://127.0.0.1:5000;\n proxy_set_header Host $host;\n proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n proxy_set_header X-Forwarded-Proto $scheme;\n …Run Code Online (Sandbox Code Playgroud) apache2 ×10
.htaccess ×3
rewrite ×3
web-server ×3
apache-2.4 ×2
linux ×2
nginx ×2
httpd ×1
httpd.conf ×1
mod-rewrite ×1
php ×1
php7 ×1
rewritecond ×1
ubuntu-18.04 ×1
virtualhost ×1
webmin ×1