我正在開發的應用程序使用特定的文件目錄結構。通過使用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