1

我一直在尝试在我的开发环境中启用 URL 重写。我使用 EasyPHP 5.4.6。我正在尝试创建一个仅影响一个站点(别名)的简单重写规则(将 /about-us/ 重写为 about-us.php)。我已将 .htaccess 文件放在该页面的根文件夹中。我已经处理了这些事情: 1. mod_rewrite 模块加载在 httpd.conf 2. phpinfo() 列出加载模块中的 mod_rewrite 3. 我的规则有效(在线测试) 4. .htaccess 存储在页面的根文件夹中5. 该站点的文件夹在配置文件中定义为别名 6. 在该定义中,AllowOverride 设置为 All

猜猜看,RewriteRule 不起作用,我不断收到 404 错误。知道是什么原因造成的吗?

这是来自 httpd.conf 的别名定义

Alias "/website" "C:/local/website"
<Directory "C:/local/website">
Options FollowSymLinks Indexes
AllowOverride All
Order deny,allow
Allow from 127.0.0.1
Deny from all
Require all granted

这是我的 .htaccess

RewriteEngine On
RewriteBase /
RewriteRule ([a-zA-Z0-9\-]+)/? $1.php
4

2 回答 2

3

您正在使用“/website”别名,我认为您应该在本地 .htaccess 文件(即RewriteBase /website)中声明具有相同值的 RewriteBase。

于 2013-03-29T19:20:16.063 回答
1

我建议使用EasyPHP的“虚拟主机管理器”模块。

于 2013-07-03T23:52:42.580 回答