2010-03-23 5 views
0

Je suit les règles de réécriture pour un site Web:Hors un script des règles de UrlRewrite générales

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] 

Maintenant, je dois exclure un script, y compris son querystrings éventuellement des règles ci-dessus, afin que je puisse accéder à et l'exécuter normalement, au moment où toute l'URL est ignorée et transmise à la page d'index.

je dois avoir accès au shoplink.cfm de script dans la racine qui prend les variables tduid et url

J'ai essayé de le résoudre en utilisant cette (shoplink.cfm tduid = 1 & url =?):

# maybe?: 
RewriteRule !(^/shoplink.cfm [QSA] 

mais pour être honnête, je n'ai pas beaucoup d'un indice de urlrewriting et ne savent pas ce que je suis censé écrire. Je sais juste que ci-dessus va générer une belle erreur de 500.

J'ai regardé beaucoup sur stackoverflow et d'autres sites sur le même sujet, mais tout ce que je vois, ce sont des gens qui essaient d'exclure des répertoires, pas des fichiers. Dans le pire des cas, je pourrais ajouter le script dans un répertoire séparé et exclure le répertoire des rewriterules, mais pas parce que le script devrait rester dans la racine.

Tout aussi essayé:

RewriteRule ^/shoplink.cfm$ $0 [L] 

mais qui ne font rien non plus.

Toute personne qui peut m'aider sur ce sujet?

Merci d'avance.

Steven Esser ColdFusion programmeur

+0

Votre première tentative a une faute de frappe en elle (ce qui est probablement pourquoi tu as 500). La parenthèse est utilisée pour faire correspondre tout ce qui est à l'intérieur, et dans votre cas, elle n'est jamais fermée. –

+0

C'était en effet une erreur, mais cela n'a pas aidé à résoudre le problème. – Steven

Répondre

0

S'il vous plaît essayer de mettre la ligne suivante en haut de votre config (après RewriteEngine on):

RewriteRule ^shoplink.cfm$ - [L] 
+0

N'a pas fonctionné pour moi, mais je commence à me demander si cela a peut-être à faire avec plus que juste htaccess. Il n'a pas produit une erreur 500 au moins, mais il n'a pas donné le résultat correct non plus (comme dans: il était toujours dans le fichier index.cfm). – Steven

+0

Regardez à travers les journaux Apache, peut-être que vous trouverez un indice là-bas. Mais cela semble être au-delà de la syntaxe de la règle. – TonyCool

Questions connexes