在我的计算机上,我有一个启用了 rewrite 和 userdir 模块的 Apache 服务器。
该网站位于/home/pedro/Dropbox/www/cocina/
且网络服务器根目录为/home/pedro/Dropbox/www/
如果去http://localhost/~pedro/cocina/index.php
网站显示ok。
在我的.htaccess
我有以下内容:
RewriteEngine On
RewriteBase /~pedro/cocina/
RewriteRule ^receta/([^/]*)/([^/]*)\.html$ /index.php?receta=$1&desc=$2 [L,PT]
但是当我尝试打开时,http://localhost/~pedro/cocina/receta/1234/blabla.html
出现 404 错误(未找到 index.php)。
查看mod-rewrite
日志我看不到任何问题:
rewrite 'receta/1234/blabla.html' -> '/index.php?receta=1234&desc=blabla'
forcing '/index.php' to get passed through to next API URI-to-filename handler
trying to replace prefix /home/pedro/Dropbox/www/cocina/ with /~pedro/cocina/
internal redirect with /index.php [INTERNAL REDIRECT]
问题出在哪里?
注意:如果我设置了一个 v-host 而不是使用 userdirs,则重定向工作正常。