我正在开发的应用程序使用特定的文件目录结构。通过使用mod_rewrite和.htaccess文件,我设法为我们的用户提供友好的网址。它在我的本地服务器上工作正常,但是一旦在生产服务器上,它就会失败:显然,服务器在.htaccess有机会启动之前会抛出404错误。mod_rewrite失败:.htaccess或服务器配置问题?
这是我工作的.htaccess上(参考:(1)在这里如下):
IndexIgnore *
#Options +FollowSymLinks
RewriteEngine on
RewriteOptions inherit
RewriteCond %{REQUEST_FILENAME} !-f [NC]
RewriteRule ^(.*)$ /~extranet/extranet/$1 [NC,L,QSA]
在服务器上,它会返回404:
服务器无法找到所请求的页面 :
<IP-ADDRESS>/~extranet/extranet/dev/foo/
(端口80)
事实上,看来任何重定向失败,尽管phpinfo()函数列出了加载模块之间的mod_rewrite。
服务器是全新的。 (如果有帮助,404页面列出了Apache/2.0.63(Unix)mod_ssl/2.0.63 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 PHP/5.2.8服务器)
我应该在哪里寻找错误/配置错误?
UPDATE:详细信息
这里是文件/文件夹结构和使用的每个的.htaccess:
<IP-ADDRESS>/~extranet/.htaccess (1)
<IP-ADDRESS>/~extranet/extranet/
L .htaccess (2)
L/dev/
L .htaccess (3)
L index.php
L/stable/
L .htaccess (3)
L index.php
(1)重定向的所有请求文件夹 “外部网” (2)重定向的所有请求不包含 “的/ dev /” 文件夹 “稳定” (3)重写/外网/富/酒吧/的index.php应用= foo的&做=酒吧
好的,我会尝试使用带有代字号的部分。 你能否详细说明我应该如何修改RewriteBase?我不太明白这个指令。谢谢!! – pixeline 2009-08-12 00:57:40
那么主要的问题是,a)你的.htaccess正在做重定向,相对于webroot,以及b)你的目标index.php文件在哪里? – Amber 2009-08-12 04:22:02
嗨Dav,我用所需的信息更新了问题。感谢您坚持! – pixeline 2009-08-13 12:20:09