2013-05-19 87 views
0

我一直在這裏3個小時,似乎無法得到mod_rewrite與子域下的共享服務器上的GoDaddy工作。我在一個子目錄中有一個應用程序,並且我在多臺服務器上使用過相同的規則,所以我知道它們的工作原理。下面是我有:Godaddy Ubuntu的3.6 mod_rewrite問題

PHP版本5.3.10-1 Ubuntu3.6

subdomain root/ 
-.htaccess 
--appdir/ 
---.htaccess 
----public/ 
-----.htaccess 

子域名根/的.htaccess

Options -Multiviews 

這就是它的文檔根目錄.htaccess,許多人建議使用GoDaddy服務器來做到這一點。

APPDIR /的.htaccess

Options -Multiviews 

RewriteEngine on 
RewriteBase /appdir 
RewriteRule ^$ public/ [L] 
RewriteRule (.*) public/$1 [L] 

這條路由appdir/public目錄中的所有請求

APPDIR /公/的.htaccess

Options -Multiviews 

RewriteEngine On 
RewriteBase /appdir/publiC### also tried just adding /appdir ### 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?url=$1 [PT,L] 

ErrorDocument 404 index.php 

只是可以肯定mod_rewrite是可用,我跑了sudo a2enmod rewrite從Bash和重新啓動Apache與print_r(apache_get_modules());後檢查,當然這是不必要的說我完全喪失了什麼問題可能。任何人都有類似的經驗與GoDaddy,並建議如何得到mod_rewrite運行?提前致謝。

+0

你說GoDaddy的,但你有沒有試着用其他地方的成功你的.htaccess? – Steven

+0

嘗試在您的htaccess文件中丟失一些無效文本...可能是您的AllowOverride沒有在網站根目錄中設置正確,因此沒有查看.htaccess。如果服務器正在查看.htaccess,那麼你應該從服務器得到一個500錯誤 – Orangepill

+0

@Orangepill - 偉大的建議,我只是用無效的文本三明治,並沒有得到一個錯誤,所以我認爲你是正確的。關於我能做些什麼來解決這個問題的任何建議? – dcd0181

回答

1

從Ubuntu默認安裝起牀,並與mod_rewrite的運行,則需要:

啓用國防部重寫

a2enmod rewrite 

然後確保您允許在站點配置覆蓋(在/ etc/apache2的/ sites-available /) 並在''指令中更新行AllowOverride All

重裝Apache的配置

service apache2 reload 
+0

謝謝!我終於得到它運行。 – dcd0181