httpd.conf 配置 mod_rewrite 不能正常工作
httpd.conf configured mod_rewrite don't work correctly
首先,我在互联网上(包括Whosebug)搜索了这个问题,但没有找到任何解决方案。
我配置了我的 httpd.conf:
- 取消注释
LoadModule rewrite_module modules/mod_rewrite.so
- 放
AllowOverride All
我将 .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
。
首先,我在互联网上(包括Whosebug)搜索了这个问题,但没有找到任何解决方案。
我配置了我的 httpd.conf:
- 取消注释
LoadModule rewrite_module modules/mod_rewrite.so
- 放
AllowOverride All
我将 .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
。