httpd.conf 配置 mod_rewrite 不能正常工作

httpd.conf configured mod_rewrite don't work correctly

首先,我在互联网上(包括Whosebug)搜索了这个问题,但没有找到任何解决方案。

我配置了我的 httpd.conf:

我将 .htaccess 放在我的 htdocs 目录中,代码如下:

<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteRule ^apresentacao/?$ /apresentacao.php [NC,L]
    RewriteRule ^consultoria/?$ /consultoria.php [NC,L]
    RewriteRule ^software+escolar/gestao+escolar/?$ /escolar.php [NC,L]
</IfModule>

我在 .htaccess 上做错了什么?

已编辑。

我尝试访问以下 url:www.mydomain.com/software+escolar/gestao+escolar/ 但它不起作用。

我需要使用字符 +(加号)来分隔 url 的名称。

我仍然无法访问我放在 .htaccess 中的任何页面。

我只会回答你提供了足够详细信息的问题部分:

RewriteRule ^software+escolar/gestao+escolar/?$ /escolar.php [NC,L]

虽然您的输入 URL 可能使用 +%20 来表示 space,但 RewriteRule 会看到实际的虚拟路径名称。也就是说 mod_rewrite 应该匹配那里的文字 spaces。正则表达式中的 + 仍然是量词。

所以你应该使用的是:

RewriteRule ^software\sescolar/gestao\sescolar/?$  ...

或者甚至只是一个转义的 space \␣ 代替那里的 \s