我正在尝试在我的 .htaccess 文件中使用 Apache 的 If 指令添加条件语句。
我已经参考了这个页面http://httpd.apache.org/docs/trunk/mod/core.html#if但它没有详细说明/给出很多例子。它给出的两个不完整的例子是:
<如果 %{REQUEST_METHOD} 在 GET,HEAD,OPTIONS>
和
<If "$req{Host} = ''">
所以我尝试将其添加到我的 .htaccess 文件中:
<如果 %{SERVER_PORT} IN GET,HEAD,OPTIONS>
#这里什么都没有
</如果>
但是当我尝试加载页面时,我不断收到错误 500。这是在我的本地安装上,以前运行良好(或者如果我删除了该代码)。我相信我已经AllowOverride All设置了全局,并且 If 指令的上下文应该让它出现在 .htaccess 中(“上下文:服务器配置,虚拟主机,目录,.htaccess”)。
有人能给我一些关于如何正确使用 <If> 指令的例子,或者一些关于为什么它对我不起作用的指导吗?
谢谢!
我刚刚重新安装了 XAMPP。当第一次打开 PHPMyAdmin 时,我注意到它非常慢。在 localhost 上打开每个页面需要将近 5 秒的时间是没有意义的。我做了一个小测试案例来转移对 PHPMyAdmin 的指责:
$con = new PDO("mysql:host=localhost;dbname=mysql", "root", "");
$statement = $con->query('SELECT host,user,password FROM user;');
$users = $statement->fetchAll(PDO::FETCH_ASSOC);
Run Code Online (Sandbox Code Playgroud)
上面的脚本运行只需要大约 3 秒(尽管我第一次运行它需要接近 8 秒才能加载。)
然后检查它是否是 PDO 的错,我尝试使用mysql_connect:
$con = mysql_connect("localhost", "root", "");
mysql_select_db("mysql", $con);
$result = mysql_query('SELECT host,user,password FROM user;');
Run Code Online (Sandbox Code Playgroud)
需要同样长的时间才能完成。
一开始我以为是 PHP 的错,但是 PHP 代码和静态文件的提供速度比我单击刷新要快。我通过运行这个小脚本来测试 PHP:
header("Content-Type: text/plain");
for($i = 0; $i < 5000; $i++)
{
echo sha1(rand()) . "\n";
}
Run Code Online (Sandbox Code Playgroud)
5000 次sha1计算后,页面的显示速度仍然比我刷新窗口的速度要快。
然后我认为这是MySQL的错。但同样,没有进行太多测试就可以确定 MySQL 的运行速度比我需要的要快。使用 MySQL CLI 客户端,用户选择查询甚至不需要可测量的时间 …
我想在端口 80 上运行 XAMPP 服务器和 Nodejs 服务器。
如果服务器收到一个 HTTP 请求,那么 XAMPP 会处理它,如果服务器收到一个 Websocket 请求,那么 Nodejs
这怎么可能?如果某个端口已在使用中,则我无法启动其他服务器程序。
我正在使用 xampp 和 navicat 在两台开发机器(笔记本电脑和台式机)上管理 mysql。笔记本电脑是我的主要机器,而台式机则充当团队的本地开发服务器。
在笔记本电脑上通过 navicat 中的 localhost 连接到 mysql 工作正常。有没有办法(除了 http 隧道方法)允许通过 navicat 从笔记本电脑访问桌面?
我正在尝试像这样设置我的本地 Apache 配置:
http://localhost/ 应该服务 ~/
http://development.somedomain.co.nz/ 应该服务 ~/sites/development.somedomain.co.nz/
https://development.assldomain.co.nz/ 应该服务 ~/sites/development.assldomain.co.nz/
我只想允许来自我们本地网络(192.168.1.* 范围)和我自己(127.0.0.1)的连接。
我已经设置了我的主机文件:
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost
127.0.0.1 development.somedomain.co.nz
127.0.0.1 development.assldomain.co.nz
127.0.0.1 development.anunuseddomain.co.nz
Run Code Online (Sandbox Code Playgroud)
我的 Apache 配置如下所示:
Listen 80
NameVirtualHost *:80
<VirtualHost development.somedomain.co.nz:80>
ServerName development.somedomain.co.nz
DocumentRoot "~/sites/development.somedomain.co.nz"
DirectoryIndex index.php
<Directory ~/sites/development.somedomain.co.nz>
Options Indexes FollowSymLinks ExecCGI Includes
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost localhost:80>
DocumentRoot "~/"
ServerName localhost
<Directory "~/">
Options Indexes FollowSymLinks ExecCGI Includes
AllowOverride All
Order allow,deny
Allow from all …Run Code Online (Sandbox Code Playgroud) 如何启用和加载 mod_proxy_http?
我有 XAMPP,我想启用 mod_proxy_http
我可以看到模块 XAMPP/apache/modules/mod_proxy_http.so 但我没有看到任何命令模块指令在文件 XAMPP/apahce/conf/httpd.comf 中取消注释
我重新启动了服务器,但我看到模块没有通过 phpinfo() 加载
如何启用和加载 mod_proxy_http?
我在桌面上制作了一个 PHP/MySQL 应用程序,我使用 Apache vhosts (XAMPP) 访问它。在我的主机文件中我添加了127.0.0.1 myapp所以我必须在浏览器中输入http://myapp. 我怎样才能访问同一个网页,但从同一个 wifi 网络中的另一台计算机?
根据这篇文章,我也已经允许在我的子网的防火墙上使用端口 80 。这是我第一次这样做,所以我在陌生的地方。我的电脑的 ip(托管它的那个)是192.168.254.100。这是我的httpd-vhosts.conf文件的样子:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot D:/xampp/virtual/myapp/public
ServerName myapp
<Directory "D:/xampp/virtual/myapp/public">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud) 我对服务器和数据库非常陌生,我的经验仅涵盖少数 XAMPP 安装,以便轻松进行网站测试和探索。所以我在我的笔记本电脑上安装了 XAMPP,我只是把它放在我的上网本上。我复制并移动了我的 htdocs 文件夹(即将与 Dropbox 同步),现在需要移动数据库。
我不是在寻找广泛的备份解决方案。将一个 XAMPP 堆栈上的数据库设置复制到另一个的最简单方法是什么?
我正在尝试通过我的 IP 地址访问 localhost。我的 IP 地址是/曾经217.164.79.62(它被设置为自动分配,因此它不断变化)。
当我访问 时http://localhost/,我会看到 XAMPP 主页。
但是,当我访问 时http://217.164.79.62/,我收到以下消息:
服务器 217.164.79.62:80 需要用户名和密码。
用户名:
密码:
我如何获得用户名和密码?
Python 作为一种 Web 脚本语言让我很感兴趣,所以我想在我的测试服务器上设置它。
无法让 Apache 重新启动mod_wsgi。在 win7 64 位上运行 xampp v win32-1.8 w/apache v2.4,python v2.7 32bit。我看到的 Python 注册表文件位于hkey_classes_root. 我不确定这是否正确,但hkey_current_user. 中的一个hkey_local_machine表示未设置默认值。
这是我跑步时得到的 apache_start.bat
Apache 2 正在启动...
httpd.exe:C:/xampp/apache/conf/httpd.conf 第 141 行的语法错误:无法将 C:/xampp/apache/modules/mod_wsgi.so 加载到服务器:指定的程序找不到。
我添加到 httpd.conf 的内容:
LoadModule wsgi_module modules/mod_wsgi.so
WSGIScriptAlias /wsgi_handler "C:/xampp/wsgi/mywsgi.py"
<Directory "C:/xampp/wsgi">
Order allow,deny
Allow from all
</Directory>
Run Code Online (Sandbox Code Playgroud)