2010-06-05 70 views
0

我有這個在我的.htaccess文件...mod_rewrite的工作不正常

RewriteEngine on 
RewriteRule ^/invite$ /invite.html 

它的意思,讓用戶訪問這個網址:

http://mysite.com/invite 

並顯示invite.html頁面。我不想重定向用戶,但只需從更好看的網址向他們展示invite.html頁面即可。

雖然我瀏覽到http://mysite.com/invite,但我得到了404找不到的錯誤。

有什麼我做錯了嗎?我試過看看使用mod_rewrite的教程,但我似乎也在做他們也在告訴我的東西...

謝謝!

回答

2

我不認爲應該有一個/RewriteRule

RewriteEngine on 
RewriteRule ^invite$ invite.html 
+0

啊完美,現在作品:)非常感謝! – 2010-06-05 22:08:23

0

您是否確定AllowOverride All被設置爲.htaccess文件所在的目錄?否則該文件可能會被忽略。

如果情況並非如此,您應該查看Apache的日誌文件以獲取更多提示(Linux上的/var/log/apache)。

+0

我在共享主機,所以我不認爲我可以查看Apache日誌,我看不到我自己的帳戶特定日誌任何地方。 – 2010-06-05 22:03:43

+0

啊!我在cPanel中找到了我的日誌,我有許多行讀取:'文件不存在:/ home/myuser/public_html/invite'。這對我來說沒有任何意義,從我知道'/ invite'不需要存在,因爲它就是我想要做的... – 2010-06-05 22:05:26

0

您錯過了RewriteCond指令。這是一個真正的測試Cond ition匹配一個URL。僅當一個或多個RewriteCond匹配時纔會調用RewriteRule。

+0

我不認爲這是準確的,你可以有'RewriteRule'沒有'RewriteCond' – 2010-06-05 22:03:06