Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex ISAPI重写规则帮助(http://www.foo.com/bar --&燃气轮机;http://www.foo.com/bar.aspx)_Regex_Mod Rewrite_Isapi Rewrite - Fatal编程技术网

Regex ISAPI重写规则帮助(http://www.foo.com/bar --&燃气轮机;http://www.foo.com/bar.aspx)

Regex ISAPI重写规则帮助(http://www.foo.com/bar --&燃气轮机;http://www.foo.com/bar.aspx),regex,mod-rewrite,isapi-rewrite,Regex,Mod Rewrite,Isapi Rewrite,这是一个非常简单的方法,但我需要正确地执行此操作,并且不能承担错误,因为我需要尽快在实时服务器上部署 http://www.foo.com/bar --> http://www.foo.com/bar.aspx http://www.foo.com/bar?q=boo --> http://www.foo.com/bar.aspx?q=boo # I only want /bar to get rewritten to /bar.aspx # everything else sta

这是一个非常简单的方法,但我需要正确地执行此操作,并且不能承担错误,因为我需要尽快在实时服务器上部署

http://www.foo.com/bar --> http://www.foo.com/bar.aspx
http://www.foo.com/bar?q=boo --> http://www.foo.com/bar.aspx?q=boo

# I only want /bar to get rewritten to /bar.aspx
# everything else stays as is
http://www.foo.com/bar.aspx --> http://www.foo.com/bar.aspx
http://www.foo.com/bar.pdf --> http://www.foo.com/bar.pdf  
我到了这里,但是这会把
bar.aspx
变成
bar.aspx.aspx
,这不好

# Helicon ISAPI_Rewrite configuration file

RewriteEngine on
RewriteRule (.*) $1.aspx [L]
试试这个规则:

RewriteCond $1 !.*\.aspx$
RewriteRule (.*) $1.aspx [L]
这将避免递归可能出现的任何问题。如果要排除现有文件,请尝试以下条件:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) $1.aspx [L]

令人惊叹的!在英语中,“RewriteCond$1.*\.aspx$”@DrG:
$1
与替换表达式中的
RewriteRule
模式的第一组匹配类似。然后根据模式
!*\,对其进行测试。aspx$
简单地反转
*\.aspx$
的结果。因此,如果当前URL路径是
/bar.aspx
$1
bar.aspx
,然后由
*\.aspx$
匹配,因此
重写条件的结果是false,因为
*\.aspx$
是否定的。这意味着该规则不适用于
/bar.aspx
,因为它以
.aspx
结尾。在
foo.com/bar.pdf
上会发生什么。我也要让它一个人呆着。也许我真的需要你的第二条规则。它开始下沉了!我觉得我可能需要两者的结合。谢谢你的帮助,Gumbo,我的基础比以前好多了:D@DrG:您可以通过指定允许的字符使规则更具体。例如,如果不希望将该规则应用于已包含点(如文件名中)的URL,请使用
^([^.]+)$
而不是通用
(.*)