2012-05-24 55 views
1

討厭問這個問題,但我一直在桌子上敲我的頭一陣子,似乎無法得到它。我正在使用ExpressionEngine,並且使用mod_rewrite從我的所有URL中刪除index.php。這工作正常。此外,我希望任何myurl.com/adwords/(任何東西)都會被重寫爲myurl.com/(任何東西)。我的正則表達式和htaccess技巧很弱。下面是我在.htaccess:mod重寫.htaccess表達式引擎刪除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/foohttp://myurl.com/index.php/foo,而不是http://myurl.com/index.php?a=foo

如果你也想重寫類似http://myurl.com/baa/adwords/foohttp://myurl.com/baa/index.php/foo,你必須忽略^:

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

順便說一句,你可以測試你的大部分重寫規則在這裏:http://htaccess.madewithlove.be/

+0

哇,這網站是輝煌的。解決了我的問題。萬分感謝! – LOLapalooza