Я не эксперт в mod_rewrite на всех, и я пытаюсь добавить условие к правилу ниже:Mod Rewrite Rule не соответствует определенным словам
- матча, который не равен «акции»
- ничего не совпадать с точкой в нем
RewriteRule ^([^/]*)$ http://domain.com/directory/index.php?key=$1 [L]
http://domain.com/directory/share
не будет соответствовать (складочном)
http://domain.com/directory/foo.php
не будет соответствовать (содержит точка)
http://domain.com/directory/abcde
будет соответствовать
http://domain.com/directory/abcde-4
будет соответствовать
Все ULRs не будет иметь завершающий слэш
Любая помощь будет много оценивается
Или я просто сделать три правила? 'RewriteRule^([^. /] * (?! share)) $ http://domain.com/directory/index.php?key=$1 [L]' 'RewriteRule^([^ /] */share) $ http://domain.com/directory/index.php?key=$1 [L] ' ' RewriteRule^([^. /] * (?! share)) $ http: // domain .com/directory/index.php? key = $ 1 [L] ' –
Я вижу, что это работает, но' key' всегда 'share' - независимо от того, что совпадают символы. Динамический url должен быть http://domain.com/directory/index.php?key=abcde-3, а не http://domain.com/directory/index.php?key=share –
Попробуйте переместить parens: '^([^. /]) * (?!/share) $ '(извините, это просто догадка, но я просыпался в течение ~ 22 часов) –