2012-02-02 7 views
0

にローカルホスト上で動作していない書き換えおよそURLは、私はこのURLを必要とするので、私はUbuntuの11.10でLAMPPを実行していると私は次のような問題</p> <p>を持っているUbuntuの

に書き換え: はlocalhost/MYNAME/oefeningenPHP/CMS /私は学校ごとに異なるPHPの練習のフォルダがたくさんあるので、およそ

URLはちょっと厄介です。

マイ.htaccesは次の場所にあります。CMSので、 はlocalhost/MYNAME/oefeningenPHP/CMS

は私のサイトのルートです。

.htacces次のコードが含まれます。

<IfModule mod_rewrite.c> 

Options +FollowSymLinks 
RewriteEngine on 

RewriteRule ^/([a-z]+) /index.php?head=$1 

</IfModule> 

をしかし、404エラーを返します。

はさらに私はそれが私を助けることができる私はここに誰かを望んでいるので、私はアイデアを使い果たしましたhttp.confファイルに

コメントを外しますので、書き換えモジュールがロードされていることを確認しています。私はするRewriteRuleにスラッシュについては非常にわからないんだけど、私はいろいろなことを試してみたし、何も

+1

正規表現は、単に<のIfModule mod_rewrite.c>とタグを削除するURL – Ibu

+1

と一致しません:
あなたはこのファイルを編集する必要があり、期待通りに.htaccessファイルを動作させるために。彼らは役に立たない。 500エラーが発生した場合は、URL書き換えを有効にする必要はありません。 – machineaddict

+0

スラッシュは、エクスカリエットの始まりから始まります。 – Gerben

答えて

1

を働かないあなたが.htaccessのは、いくつかのジャンクを追加することで有効になっている場合にも表示されるはずです

RewriteRule ^([a-z]+) index.php?head=$1 [L] 

を試してみてくださいそれにasdfasdfasdfasdを保存してURLにアクセスしてください。 500エラーが表示されない場合は、有効になっていません。それは

AllowOverride None 

を言う行を探して、あなたが既にsudoを実行した場合は

AllowOverride All 
+0

スラッシュがないと、エラーがなくなりますが、今はいくつかのPHPエラーが発生します。これは、パラメータが取得できなくなったためですか? – matthiasdv

+0

@ user1185774私はそうは思いませんが、URLに直接行くことで確認できます。つまり、 'localhost/myname/oefeningenPHP/cms/index.php?head = about'はあなたに同じエラーを与えます。 .htaccessのルール –

1

に変更して有効にするには

はコマンドを書き換えa2enmodが、あなたのURL書き換えは機能していません。

Step1 : sudo vi /etc/apache2/sites-available/default 

Step2 : Look for a section that looks like this: 
    <Directory /var/www/> 
       Options Indexes FollowSymLinks MultiViews 
       AllowOverride None 
       Order allow,deny 
       allow from all 
       # Uncomment this directive is you want to see apache2's 
       # default start page (in /apache2-default) when you go to/
       #RedirectMatch ^/$ /apache2-default/ 
     </Directory> 
You need to modify the line containing AllowOverride None to read AllowOverride All. 
step 3 : sudo /etc/init.d/apache2 reload 
関連する問題