1

在我的计算机上,我有一个启用了 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,则重定向工作正常。

4

1 回答 1

0

尝试使用这个:

RewriteRule ^receta/([^/]*)/([^/]*)\.html$  index.php?receta=$1&desc=$2 [L,PT]
于 2011-10-02T09:02:10.080 回答