2012-05-24 2 views
1

Ненависть, чтобы задать этот вопрос, но я некоторое время стуча головой о стол и не могу его получить. Я использую ExpressionEngine, и я использую mod_rewrite для удаления index.php со всех моих URL-адресов. Это прекрасно работает. Кроме того, я хочу что-нибудь, что myurl.com/adwords/(anything), чтобы быть переписанным на myurl.com/(anything). Мое регулярное выражение и htaccess skillz являются слабыми. Вот что я имею в .htaccess:mod rewrite .htaccess expressionengine remove index.php и конкретный подкаталог

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/(то), захватить что-то, а затем добавить его в конце index.php через $ 1. Я предполагаю, что это просто. Благодаря!

ответ

3

Правило вы ищете, как, например, вероятно, просто

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

с не в состоянии переписать необходимо, но мне интересно ... действительно ли вы хотите переписать http://myurl.com/adwords/foo в http://myurl.com/index.php/foo, а не к http://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/

+0

Wow, что веб-сайт блестящий. Решил мои проблемы. Благодаря тонну! – LOLapalooza