我是.htaccess的新手,我发现了一些文章,我试图让它发挥作用,但仍然失败。
我的.htaccess文件中有以下内容: -
<IfModule mod_ssl.c>
RewriteBase /mydomain.com/
</IfModule>
<IfModule !mod_ssl.c>
RewriteBase /
</IfModule>
RewriteEngine On
RewriteRule ^([^.]*)$ index.cgi/$1 [L]
但是,我希望能够访问 mydomain.com/more-info ,但这条规则是 mydomain.com/index.cgi/more-info
我怎样才能使“更多信息”免于此规则?
提前谢谢。
所以,Ulrich建议如下......
#if not /more-info
RewriteCond %{REQUEST_URI} !^/more-info$ [NC]
RewriteRule ^([^.]*)$ index.cgi/$1 [L]
......但我仍然得到'404 Not Found'。 more-info目录包含index.htm,如果我关闭这个RewriteEngine,它可以正常工作。
答案 0 :(得分:0)
在
之前添加RewriteCond指令RewriteRule ^([^.]*)$ index.cgi/$1 [L]
免除/更多信息。像 -
这样的东西RewriteCond %{QUERY_STRING} != /more-info
您可以在这里找到一些示例 - &gt; http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewritecond
答案 1 :(得分:0)
如下所示
#if not /more-info
RewriteCond %{REQUEST_URI} !^/more-info$ [NC]
RewriteRule ^([^.]*)$ index.cgi/$1 [L]
答案 2 :(得分:0)
您可以尝试以下规则:
RewriteRule ^((?!more-info)[^.]*)$ index.cgi/$1 [L,NC]