У меня есть следующие правила переписывания для сайта:
RewriteEngine On
# Stop reading config files
RewriteCond %{REQUEST_FILENAME} .*/web.config$ [NC,OR]
RewriteCond %{REQUEST_FILENAME} .*/\.htaccess$ [NC]
RewriteRule ^(.+)$ - [F]
# Rewrite to url
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !^(/bilder_losning/|/bilder/|/gfx/|/js/|/css/|/doc/).*
RewriteRule ^(.+)$ index.cfm?smartLinkKey=%{REQUEST_URI} [L]
Теперь я должен исключить сценарий, включая его в конечном итоге строки запросов, из вышеприведенных правил, чтобы я мог обращаться к нему и выполнять его обычным способом, в настоящий момент весь URL-адрес игнорируется и перенаправляется на страницу индекса.
Мне нужен доступ к сценарию shoplink.cfm в корне, который принимает переменные tduid и url (shoplink.cfm? Tduid = 1 & url =)
Я пытался разрешить это, используя это:
# maybe?:
RewriteRule !(^/shoplink.cfm [QSA]
но, если честно, я не очень разбираюсь в урлрерите и не знаю, что мне писать. Я просто знаю, что выше будет генерировать хорошую ошибку 500.
Я много смотрю на stackoverflow и другие веб-сайты на ту же тему, но вижу только людей, пытающихся исключить каталоги, а не файлы. В худшем случае я мог бы добавить скрипт в отдельную директорию и исключить директорию из перезаписывающих файлов, но не так, поскольку скрипт действительно должен оставаться в корне.
Только что попробовал:
RewriteRule ^/shoplink.cfm$ $0 [L]
но это тоже ничего не сделало.
Кто-нибудь, кто может помочь мне в этом вопросе?
Заранее спасибо.
Стивен Эссер
Программист ColdFusion