首先,我在网上(包括stackoverflow)搜索了这个,但没有找到任何解决方案。
我配置了我的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
上做错了什么?
编辑。
我尝试访问以下网址:www.mydomain.com/software+escolar/gestao+escolar/
但它无法正常工作。
我需要使用字符+(加号)来分隔网址的名称。
我仍然无法访问我放在.htaccess
。
答案 0 :(得分:0)
我只会回答您提供足够详细信息的问题部分:
RewriteRule ^software+escolar/gestao+escolar/?$ /escolar.php [NC,L]
虽然您的输入网址可能使用+
或%20
来表示空格,但RewriteRule会看到实际的虚拟路径名称。那是mod_rewrite
应该与那里的文字空格匹配。正则表达式中的+
仍然是量词。
所以你应该使用的是:
RewriteRule ^software\sescolar/gestao\sescolar/?$ ...
甚至只是一个转义空间\␣
代替\s
。