1

この質問をするのは嫌いですが、私はしばらく机に頭をぶつけていて、理解できないようです. 私は ExpressionEngine を使用しており、mod_rewrite を使用してすべての URL から index.php を削除しています。それはうまくいきます。さらに、myurl.com/adwords/(anything) を myurl.com/(anything) に書き換えたいと考えています。私の正規表現と htaccess スキルは弱いです。これが私が.htaccessに持っているものです:

Options +FollowSymlinks
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_URI} ^/adwords/(.*)$
RewriteRule ^(.*)$ /index.php/$1 [L]

RewriteCond %{QUERY_STRING} !^(ACT=.*)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]

だから私は、/adwords/(何か) で終わる何かを言い、何かをキャプチャし、$1 を介して index.php の最後に追加していると思います。これは簡単だと思います。ありがとう!

4

1 に答える 1

3

あなたが探しているルールはおそらく単純です

RewriteRule ^adwords/(.*)$ index.php/$1 [L]

書き換え条件は必要ありませんが、本当にhttp://myurl.com/adwords/fooをhttp:/ではなくhttp://myurl.com/index.php/fooに書き換えますか? /myurl.com/index.php?a=foo ?

http://myurl.com/baa/adwords/fooのようなものをhttp://myurl.com/baa/index.php/fooに書き換えたい場合は、^ を省略する必要があります。

RewriteRule adwords/(.*)$ index.php/$1 [L]

ところで、ここでほとんどの書き換えルールをテストできます: http://htaccess.madewithlove.be/

于 2012-05-24T18:37:09.633 に答える