【发布时间】:2014-03-18 23:10:56
【问题描述】:
我对 mod_rewrite 了解不多,但似乎找不到这个问题的答案。我正在开发一个简单的应用程序并通过 index.php 主页面路由所有 url(少数除外)。因此,例如 mysite.com/test 转到 index.php,然后在 php 中确定 url 是什么并加载适当的页面。
我的问题是我需要从该规则中排除电子邮件验证或其他潜在的未来例外情况。电子邮件验证链接的示例是:http://myrul.com/php-login-advanced/register.php?id=2&verification_code=..... 等。
所以...有没有办法从以某些字符开头的重写规则中排除 url。 "php-" 在这种情况下可以解决问题。
我目前的重写条件是:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(index\.php|&|register\.php|php|
css|images|javascript|robots\.txt|favicon\.ico)
RewriteRule ^(.*)$ index.php?/$1 [L]
【问题讨论】:
标签: php regex apache .htaccess mod-rewrite