2012-05-01 40 views
0

Drupalサイトの書き換えルールを.htaccessファイルに書き込もうとしていますが、まったく動作していないようです。正規表現とmod_rewriteでの私の知識と経験の欠如は、その原因を助けるとは思われません。私のdrupalサイトURLのルールを書き換えません

http://www.mydrupalsite.com/somealphanumericwithspecialchars/somealphanumericwithspecialchars/somealphanumericwithspecialchars/somealphanumericwithspecialchars/Keyword1/Keyword2/UNIQUEID?queryparam1=somenumber

先:

http://www.mydrupalsite.com/legacystuff/UNIQUEID

私の.htaccessのmod_rewriteのタラ

ソースを次のように

私は書き換えしようとしているURLがありますeがある

RewriteEngine on 
    # Rewrite URLs of the form 'x' to the form 'index.php?q=x'. 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_URI} !=/favicon.ico 
    #This is the only rule written by me others are drupals 
    RewriteRule ^(.*)/(.*)/(.*)/(.*)/Keyword1/Keyword2/([0-9]*)?$ legacystuff/content/$5 [R=302] 
    RewriteRule ^(.*)$ index.php?q=$1 [L,QSA] 
チュートリアルのいくつかの簡単なブラウジングに基づいて私の理解と実装だった

最初の4つの(.*)ので、私はそのように一致させることができ、一定のままでURL、KEYWORD1とKEYWORD2で4 alphanumericspecialcharsと一致しますが、目的地のURL(目的地のパラメータ$ 5)に実際に必要な一意の数値IDは([0-9*])?で取得されます。私は私のトラブルは先URLソースからのリダイレクトが私のローカルサーバーを再起動してキャッシュをクリアした後に発生していないということである私の地元の環境の私ののhttpd.conf

<VirtualHost *:80> 
DocumentRoot "C:/wamp/www/mydrupalsite" 
ServerName mydrupalsite.com 
</VirtualHost> 

で、次のバーチャルホストを使用します。私がどこに間違って行ったのか、それを正しくする方法についての助けは本当に感謝しています。

+0

'([0-9 *])?$'が壊れている、私は 'あなたが意味を考える([0-9] *)$'、と 'RewriteEngine on'のは、どこかの1であることを確認してください設定ファイル –

+0

私はそれを編集します、RewriteEngineは確かにオンです。 – optimusprime619

答えて

0

最後に、仮想ホストの設定にRewriteBaseを追加し、その下にRewriteRuleを配置しましたか?私の宛先では、クエリ文字列とLフラグを無視します。私のhttpd.confにRewriteLogを設定すると、より良い観点から物事を理解するのに役立ちました。うまくいけば、これはdrupalの.htaccessに新しい誰かを助けてくれるでしょう。

RewriteBase/
RewriteRule ^(.*)/(.*)/(.*)/(.*)/Keyword1/Keyword2/([0-9]*)?$ legacystuff/content/$5? [R=301,L] 
関連する問題