2013-05-16 90 views
3

我花了大約四個小時試圖讓乾淨的URL工作,它真的在做我的頭。我是非常新的Drupal和聽到所有關於它的美妙的事情後,這是令人失望的。這裏是我的設置:乾淨的URL測試失敗D7

我有XAMPP on windows 7,並安裝Drupal 7.22到一個文件夾c:\code\drupal

在我httpd.conf,我有Alias /code "C:\code"這工作,因爲我有內部c:\code其他文件夾中運行得很好

drupal .htaccess文件作品,因爲如果我在那裏添加垃圾行我得到一個服務器錯誤

.htaccess我試過所有組合RewriteBase我能想到的:

RewriteBase/
RewriteBase /code 
RewriteBase /code/drupal 
RewriteBase /drupal 

mod_rewrite的作品,因爲我已經有其他裝置,使其正確地使用它。

我也試過直接將http://localhost/code/drupal/admin/config/search/clean-urls但給了我一個404 error

我每次回去admin > config > clean URLS,它說,測試失敗。我知道這顯然是我身邊的一些錯誤,但它變得非常令人沮喪。任何人都可以看到我在這裏失蹤? :(

  • 我所以在這裏讀取所有類似的問題,但他們的解決方案並沒有 爲我工作。
  • drupal.stackexchange.com登載以及 ,但沒有得到任何答案。
  • 我我在這裏張貼,因爲PHP SO社區 更是活躍,無疑有很多誰知道在深度 的Drupal。
  • 我真的很希望有人可以幫助我弄清楚了這一點...
+0

如果你看一下其中顯示該主機的請願書錯誤日誌,被改寫的網址是什麼?或者它要求的網址沒有給它重寫規則? – Chayemor

+0

它沒有重寫規則。它使用普通的URL訪問drupal頁面,並給出200響應。常規URL會顯示一條消息,指出無法啓用重寫。在線文檔提出了我在上面提到的所有問題 - 但無濟於事。而條目access.log裏不是error.log因爲沒有本身的錯誤.. –

+0

嘗試與 RewriteBase/ 重寫規則的東西很簡單,像'RewriteEngine敘述更換整個的.htaccess^* $ HTTP://谷歌.com是否將您重定向到google.com?你也可以嘗試寫日誌文件重寫模塊,只需添加到您的以下httpd.conf文件:'RewriteLog「/home/rewrite.log」 RewriteLogLevel 9'也許會出現在日誌中一些有趣的事情:) – tulvit

回答

2

我不知道你是否仍然需要幫助,但我花了很多時間試圖弄清楚自己前一段時間,並找不到正確的答案。在做了大量的試驗和錯誤之後,我做了工作。我不知道你的設置究竟是如何,但這裏是我的,以及我的解決方案drupal.org

(這是我原來的問題的一部分,我的完整解決方案的複印件)

嗨,

我有一個Drupal多站點的設置,我試圖讓清潔的網址 工作但似乎無法正確編寫條件和規則 。我找到了很多答案,但都沒有成功。

我的.htaccess文件正在讀取沒有問題,規則是 正在使用(我試圖設置重寫規則爲完整的地址,但它只是給我的主頁,我不能去其他地方) 。

這裏是它是如何設置:

DEV:URL1 www.site1.domain.fr/dev
                  URL2 www.site2.site1.domain.fr/dev

PROD URL1 www.site1.domain.fr
                      URL2 www.site2.site1.domain.fr

在服務器上:的/ dev(一個drupal的安裝)
                                             /PROD(另一個Drupal的安裝 但相同的內容)

我多點是設置爲這樣的:
/sites/site1.domain.fr
/sites/site2.site1.domain.fr(dev的同樣的事情和正式版)

內sites.php:

$sites = array( 
'www.site1.domain.fr' => 'site1.domain.fr', 
'www.site2.site1.domain.fr' => 'site2.site1.domain.fr',) 


解決方案

我終於可以通過反覆試驗來修復它。在任何情況下,你 遇到同樣的問題,這是我如何固定它:

DEV: 

RewriteBase /dev 

# Main site 
RewriteCond %{HTTP_HOST} ^site1\.domain\.fr [NC] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ site1.domain.fr/dev/index.php?q=$1 [L,QSA] 

# Site 2 
RewriteCond %{HTTP_HOST} ^site2.site1\.domain\.fr [NC] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ site2.site1.domain.fr/dev/index.php?q=$1 [L,QSA] 


PROD: 

RewriteBase/

# Main site 
RewriteCond %{HTTP_HOST} ^site1\.domain\.fr [NC] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ site1.domain.fr/index.php?q=$1 [L,QSA] 

# Site 2 
RewriteCond %{HTTP_HOST} ^site2.site1\.domain\.fr [NC] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ site2.site1.domain.fr/index.php?q=$1 [L,QSA] 
+0

而不是鏈接到您的解決方案,你可以在這裏描述它嗎?否則,你的答案沒有太多實質內容,可能會遭受鏈接腐敗。 –

+0

這裏我加了它。對不起,我粘貼了一段時間後,所有東西都粘在一起了。 – CarolineCB

+0

@ CarolineCB - 我意識到我從來沒有把你的答案標記爲正確!呃...差不多一年已經太晚了,但還是 - 謝謝! –