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
Php httpd.conf配置的mod#u rewrite don';我不能正常工作_Php_Regex_Apache_.htaccess_Mod Rewrite - Fatal编程技术网

Php httpd.conf配置的mod#u rewrite don';我不能正常工作

Php httpd.conf配置的mod#u rewrite don';我不能正常工作,php,regex,apache,.htaccess,mod-rewrite,Php,Regex,Apache,.htaccess,Mod Rewrite,首先,我在互联网上(包括stackoverflow)搜索了一下,没有找到任何解决方案 我配置了httpd.conf: 取消注释LoadModule rewrite\u module modules/mod\u rewrite.so 放置AllowOverride All 我将.htaccess放在我的htdocs目录中,代码如下: <IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^apresentaca

首先,我在互联网上(包括stackoverflow)搜索了一下,没有找到任何解决方案

我配置了httpd.conf:

  • 取消注释
    LoadModule rewrite\u module modules/mod\u 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>

重新启动发动机
重写规则^apresentacao/?$/apresentacao.php[NC,L]
重写规则^consultoria/?$/consultoria.php[NC,L]
重写规则^software+escolar/gestao+escolar/?$/escolar.php[NC,L]
我在
.htaccess
上做错了什么

编辑

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

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


我仍然无法访问我放在
.htaccess

中的任何页面。我只想回答问题部分,其中您提供了以下足够的详细信息:

RewriteRule ^software+escolar/gestao+escolar/?$ /escolar.php [NC,L]
虽然输入URL可能使用
+
%20
来表示空格,但重写规则会看到实际的虚拟路径名。也就是说,
mod_rewrite
应该匹配那里的文本空格。正则表达式中的
+
仍然是一个量词

所以你应该使用的是:

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

甚至只是一个转义空间
\␣
取代了那里的
\s

您尝试了哪个URL?你犯了什么错误?它究竟是如何“不起作用”的?(查看error.log。同时移除
封装。)你好@mario,我尝试了
myurl/apresentaco/
,但不起作用,只使用
myurl/apresentaco.php
。我把另一个网址和更新的问题!谢谢你的回答。举一个完整的URL为例,解释目录结构,哪一个是你的文档的根,如果
.htaccess
确实位于那里。@mario,整个URL将
www.mydomain.com/software+escolar/gesto+escolar/
以访问页面
escolar.php
。我的目录结构很简单,根文件夹中有文件
escolar.php
。如果您想进一步具体化问题的详细信息,请编辑您的问题。不要在这里添加评论。它还没有被调用。我把它放在我的
.htaccess
上,地址
www.mydomain.com/software+escolar/gesto+escolar/
不起作用。我应该配置其他东西吗?问题解决了!我把
[L]
放在什么地方,在读取其他重写规则之前先完成文件的读取。谢谢你,马里奥。