2017-04-14 31 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] 

ですが、それは私のウェブサイト上でそれを書き換えていません。それはまだ "醜い" URLを示しています。私はhtaccessファイルをかなり新しくしていて、なぜうまくいかないのか分からないので、何をすべきか分からない。

「pretty」URL(www.mommy-info.com/about/)を入力すると、CSSはありませんが、それはかなりのURLです。私がウェブサイト上のメニューを見ると、醜いURLしか表示されません。

+1

モジュールmod_rewriteがApacheで有効になっていることを確認してください – 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にアクセスします。それは/を追加するユーザーを強制的に、または404が見られるように

スタイルシートに加えて
<link href="/main.css" type="text/css" rel="stylesheet"/> 
      /\ access statically from root 

、あなたはは、末尾のすべてがあなたのRewriteRulesスラッシュを取り除くしたい場合があります:

$ 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の相対アクセスを修正する作業をしています。メニューからページにアクセスするときれいなURLが表示されない理由を知っていますか? – ethacker

+1

アンカーは、ユーザーを.phpファイルにリダイレクトするように設定されているためです。 '

  • About
  • ' '
  • About
  • 'に変更してください –

    +1

    ありがとうございました! – ethacker

    関連する問題