2012-09-04 239 views
1

我有一個本地環境工作正常。在.htaccess中粘貼測試路線,並按預期工作(將我重新路由到Google)。Mod_rewrite不能在Ubuntu服務器上工作(儘管在本地工作)

RewriteEngine on 
RewriteRule testpage\.html http://www.google.com [R] 

我在開發服務器上粘貼了相同的東西(Unbutu 12.04),它只是給了我一個Not Found頁面。當我通過運行在devserver上驗證它時:

sudo a2enmod rewrite 

它說「模塊重寫已啓用」。

編輯:它也出現在phpinfo()的「loaded modules」部分,並且自安裝以來我已經多次重啓apache服務器。

任何想法?

回答

4

最有可能是因爲mod_rewrite的啓用,但.htaccess文件通過

AllowOverride None 

即禁用檢查.htaccess文件(它給你一些性能提升是禁用的,但你必須直接把你的mod_rewrite代碼的Apache配置文件)

更改您的虛擬主機:

AllowOverride All 
+0

賓果。謝謝。 –

+0

我很高興我可以幫助;-) –

3

對於人誰不明白 - http://victorpotapov.ru/blog/vkljuchaem_mod_rewrite_v_apache/2013-11-03-61

在此頁面,您可以走一步看一步,您在終端上的Ubuntu

+0

該網頁的相關內容應該被添加到答案 –

+0

其不理解,如果你有這個問題,請按照[鏈接](http://victorpotapov.ru/博客/ vkljuchaem_mod_rewrite_v_apache/2013-11-03-61)在這個答案! –

1

啓用了mod_rewrite

激活與

須藤mod_rewrite的模塊a2enmod重寫

進入

並重新啓動apache

須藤服務的Apache2重啓

編輯虛擬主機使用國防部重寫的.htaccess中

須藤納米/etc/apache2/sites-available/000-default.conf

搜索「DocumentRoot/var/www/html」並添加以下行

<Directory "/var/www/html"> 
AllowOverride All 
</Directory> 

保存&退出CTRL-X, 「Y」 並回車

重啓Apache

須藤服務的Apache2重啓

相關問題