我整天都在试图弄清楚我本地开发站点上的 URL 重写,但没有运气。最初忽略 .htaccess 文件。现在他们正在阅读但不工作。我不知道如何对 .htaccess 文件进行故障排除。根据我的阅读,Apache 2.4 似乎摆脱了指定您自己的 RewriteLog。我得到的唯一帮助是来自 /var/log/apache2/error.log 对我来说全是希腊语。
我正在尝试的重写很简单:local.domain.com/users/index.php?id=1 -> local.domain.com/users/1/
我的 .htaccess 看起来像:
RewriteEngine On
RewriteRule ^users/([0-9]+)/?$ users/index.php?id=$1 [NC,L]
请求 local.domain.com/users/index.php?id=1 时,URL 保持不变。apache 的 error.log 给出了以下 3 行:
[Tue Jun 17 15:20:04.705939 2014] [rewrite:trace3] [pid 6569] mod_rewrite.c(468): [client 127.0.0.1:46208] 127.0.0.1 - - [local.domain.com/sid#b63f02c0][rid#b6b12058/initial] [perdir /var/www/vhosts/domain.com/] strip per-dir prefix: /var/www/vhosts/domain.com/users/index.php -> users/index.php
[Tue Jun 17 15:20:04.705979 2014] [rewrite:trace3] [pid 6569] mod_rewrite.c(468): [client 127.0.0.1:46208] 127.0.0.1 - - [local.domain.com/sid#b63f02c0][rid#b6b12058/initial] [perdir /var/www/vhosts/domain.com/] applying pattern '^users/([0-9]+)$' to uri 'users/index.php'
[Tue Jun 17 15:20:04.705990 2014] [rewrite:trace1] [pid 6569] mod_rewrite.c(468): [client 127.0.0.1:46208] 127.0.0.1 - - [local.domain.com/sid#b63f02c0][rid#b6b12058/initial] [perdir /var/www/vhosts/domain.com/] pass through /var/www/vhosts/domain.com/users/index.php
.htaccess 的位置是 /var/www/vhosts/domain.com/ 。有没有办法获得更好/更多的日志信息?/var/log/apache2/error.log 真的是我应该使用的日志吗?我的 .htaccess 代码真的有问题,还是我缺少某种配置?我知道有类似的问题,但到目前为止,我还没有找到一个既可以理解又可以解决我的问题的问题。
提前致谢!