1

讨厌问这个问题,但我已经把头撞在桌子上一段时间了,似乎无法理解。我正在使用 ExpressionEngine,并且正在使用 mod_rewrite 从我的所有 URL 中删除 index.php。这很好用。此外,我希望将 myurl.com/adwords/(anything) 中的任何内容重写为 myurl.com/(anything)。我的正则表达式和 htaccess Skillz 很弱。这是我在 .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/(something) 结尾的东西,捕获一些东西,然后通过$1 将它附加到index.php 的末尾。我猜这很简单。谢谢!

4

1 回答 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/foo之类的内容重写为http://myurl.com/baa/index.php/foo,则必须省略 ^:

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

顺便说一句,你可以在这里测试你的大部分重写规则:http: //htaccess.madewithlove.be/

于 2012-05-24T18:37:09.633 回答