2017-04-14 76 views
2

我的htaccess是爲什麼我的.htaccess文件不能在cPanel中工作?

Options -Multiviews 

RewriteEngine On 
RewriteBase/

# Force search engines to use www.mommy-info.com 
RewriteCond %{HTTP_HOST} !^www\.mommy-info\.com$ 
RewriteRule ^(.*) http://www.mommy-info.com/$1 [R=301,L] 

# Specify search friendly URLs 
RewriteRule ^about/$ /about.php [L] 

我救了它,但它不是重寫它在我的網站。它仍然顯示「醜陋」的網址。我不知道該怎麼做,因爲我對htaccess文件很陌生,不知道爲什麼它不起作用。

如果我輸入「漂亮」的網址(www.mommy-info.com/about/),它沒有CSS,但它是漂亮的網址。如果我瀏覽網站上的菜單,它只會顯示醜陋的網址。

+1

確保在apache中啓用了模塊'mod_rewrite' – Hossam

回答

2

當我打你的網站時,它看起來好像mod_rewrite正在工作,事情只是有點關閉。

無論我打
        http://www.mommy-info.com/about.php

        http://www.mommy-info.com/about/
我呈現相同的內容,

這可以用

$ curl http://www.mommy-info.com/about/ | md5 
1105b8f6dbf1a2c52bddd8e5f9046653 

$ curl http://www.mommy-info.com/about.php | md5 
1105b8f6dbf1a2c52bddd8e5f9046653 
可見這裏

問題實際上似乎與您main.css資源,其作爲參考:

<link href="main.css" type="text/css" rel="stylesheet"/> 

的問題是,當我要求/about/,CSS文件相對引用,其失敗;您可以通過在瀏覽器中檢查和/about/刷新頁面看到這一點,樣式表將拋出一個404

$ curl --head http://www.mommy-info.com/about/main.css 
HTTP/1.1 404 Not Found 

爲了解決這個問題,樣式,改變你的代碼行,從文檔根目錄訪問,由預先將/添加到路徑中,這將訪問它statically vs relatively

<link href="/main.css" type="text/css" rel="stylesheet"/> 
      /\ access statically from root 

除了樣式表,你可能要刪除所有尾隨從你的RewriteRules斜線,因爲它迫使用戶追加/,或404將看到:

$ curl --head http://www.mommy-info.com/about 
HTTP/1.1 404 Not Found 

$ curl --head http://www.mommy-info.com/about/ 
HTTP/1.1 200 OK 
+1

謝謝!我修復了後面的斜槓,並且正在修復css相對訪問。你知道爲什麼當我從菜單訪問一個頁面時,它沒有顯示漂亮的網址嗎? – ethacker

+1

因爲您的錨定設置爲將用戶重定向到.php文件。 '

  • About
  • '將它們改爲'
  • About
  • ' –

    +1

    非常感謝! – ethacker

    相關問題