2011-09-10 11 views
2

渡される変数によって内容が決定される動的ページを作成しようとしていますが、URLを指定しますいいね基本的には、任意のバーを扱う/ fooディレクトリに単一のインデックスファイルを置いておきたい。 example.com/foo/bar to example.com/foo?id=barhttp.conf example.com/foo/barをexample.com/foo?id=barにリダイレクト

私はhttpd.confファイルで私が考えることができるすべてを試しました。私の最新の試みでした:

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^/foo/([a-z-]*) /foo/index.php?id=$1 [QSA,L] 

私はロードページをexample.com/foo/barロードしようとすると、しかし、example.com

すべてのヘルプははるかに高く評価されています!

編集:example.com/foo/barにアクセスするとまだexample.com/index.phpが読み込まれています。私の他のルールの1つが干渉しているのかもしれませんか?

AllowOverride none 
Options +FollowSymLinks 
RewriteEngine on 

RewriteRule ^(.*)\.html$ http://www.example.com/$1.php [R=301] 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^/foo/([a-z-]*)(\/?)$ /foo/index.php?id=$1 [NC,QSA,L] 

RewriteCond %{HTTP_HOST} !^www\.example\.com [NC] 
RewriteRule ^/?(.*) http://www.example.com/$1 [L,R,NE] 

.htmlから.php、達成しようとしているもの、example.comからwww.example.comにそれぞれ。

答えて

5

あなたは私あなたのhttpd.conf表示することができます私は私のhttpd.confの

<VirtualHost *:80> 
    DocumentRoot "/var/www/" 
    ServerName www.domain.com 
    ServerAlias www.domain.com 
    <Directory /var/www/> 
     #other directives 
    </Directory>  
    <Directory /var/www/foo/> 
     RewriteEngine on 
     RewriteCond %{REQUEST_FILENAME} !-f 
     RewriteCond %{REQUEST_FILENAME} !-d 
     RewriteRule ^([a-z]+)(\/?)$ index.php?id=$1 [NC,QSA,L] 
    </Directory> 
</VirtualHost> 
+0

でこれを使いますか?多分あなたはこの1つを上書きするもう1つのルールを持っています –

+0

上記の編集ですべてのルールを追加しました。 –

+0

私は私の答えを編集しました。 ^/foo /([a-z - ] *)(\ /?)$ –

関連する問題