我正在运行Windows 5.6.11的XAMPP。 我有以下的PHP文件:
C:xampphtdocswww.johndoe.comindex.PHP
我正在访问
http://localhost/www.johndoe.com/
事实上,我需要访问以下页面:
http://localhost/www.johndoe.com/?value=about
作为以下两个之一:
当目录存在时,htaccessredirect无法redirect
如何在.htaccess文件中禁用某些媒体文件的Apache gzip压缩?
XAMPP图像不显示/损坏( – 可能.htaccess)
该页面没有正确redirect – HTTPS HTACCESS重写错误
http://localhost/www.johndoe.com/about/ http://localhost/www.johndoe.com/about
RewriteEngine on RewriteRule ^www.johndoe.com/about/?$ www.johndoe.com/?value=about
但是,这是行不通的,因为访问以前的网站给了我一个401(未find)。
这是我在C:xamppapacheconfhttpd.conf :
<Directory /> AllowOverride none Require all denied </Directory> DocumentRoot "C:/xampp/htdocs" <Directory "C:/xampp/htdocs"> Options Indexes FollowSymLinks Includes ExecCGI AllowOverride All Require all granted </Directory>
我必须做些什么才能让我的.htaccess文件被parsing,并执行我之后的replace?
我已经尝试将以下内容放在C:xamppapacheconfhttpd.conf :
<Directory /> AllowOverride all Require all allowed </Directory>
但一直没有运气。 我甚至尝试将我的.htaccess文件更改为以下内容:
RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteBase /www.johndoe.com/ RewriteRule ^about/?$ ?value=about
但我仍然收到404未find的错误消息。
Apache时间戳不正确
漂亮的Nginx中的平均值应用程序的url
htaccess密码保护,但不在本地主机上
如何在使用Apache重写时隐藏URL更改?
.htaccess导致所有页面被下载
事实证明,使用默认的XAMPP配置,不需要C:xamppapacheconfhttpd.conf ,因此不需要重启Apache,因为我们只是对C:xampphtdocswww.johndoe.com.htaccess进行了更改C:xampphtdocswww.johndoe.com.htaccess 。 正如RewriteBase上的这篇文章所解释的那样,我们不需要RewriteBase因为我们不会在.htaccess规则的目标链接中使用绝对路径。 由于这些目标规则中的相对链接将与我们所服务的目录相关,因此我们需要从规则中删除www.johndoe.com目录,如下所示:
将.htaccess放在“C: xampp htdocs http://www.johndoe.com”中。
放置下面的reweerule:
RewriteEngine on RewriteRule ^about/?$ index.PHP?value=about