2014-03-31 53 views
0

我想重定向从我的用户目录下的如下:mod_rewrite日志显示预期的结果,但仍然获得404?

/    > index.php?module=home 
/MODULE/  > index.php?module=MODULE 
/MODULE/ACTION > index.php?module=MODULE&action=ACTION 

这是我的规则:

RewriteEngine On 

# Rewrite to home page. 
# Input: 
# Output: index?module=home 
RewriteRule ^$ index.php?module=home [L,QSA,NC] 

# Redirects to a module 
# Input: MODULE/ 
# Output: index.php?module=MODULE 
RewriteRule ^(\w+)/?$ index.php?module=$1 [L,QSA,NC] 

# Redirects to a module with the specified action 
# Input: MODULE/ACTION/ 
# Output: index.php?module=MODULE&action=ACTION 
RewriteRule ^(\w+)/(\w+)/?$ index.php?module=$1&action=$2 [L,QSA,NC] 

只是我总是得到一个404

该日志显示我什么我期待:

[perdir /home/james/public_html/mysite/] rewrite 'user/login' -> 'index.php?module=user&action=login', referer: http://localhost/~james/mysite/ 
[perdir /home/james/public_html/mysite/] add per-dir prefix: index.php -> /home/james/public_html/mysite/index.php, referer: http://localhost/~james/mysite/ 

这是正确的重写到所需的URL,并添加用户目录,为什么404?


从访问日志是哪个文件它无法找到:

RewriteBase /~james/mysite/ 

奇怪的是如何正确地解析URL,但返回404:

"GET /~james/mysite/user/login HTTP/1.1" 404 1130 "http://localhost/~james/mysite/" 
+0

你能看到apache访问日志并查看它返回404的文件吗? –

+0

@ D.Kasipovic我已经将它添加到问题的结尾。 – Lerp

+0

正如我所看到的,/ user/login没有被重定向,但/ user/login /应该是? –

回答

1

我通过添加下面的固定它也许比我聪明的人可以在这件事上发光。

+0

谢谢你的提示!在阅读您的解决方案之前,我已经3个小时弄清了为什么没有任何线索...... – Naoj

相关问题