2014-03-07 196 views
0

是否可以创建一个匹配现有目录的规则? 如下面的例子:与目录名称匹配的重写别名?

RewriteRule ^foo$ foo.php 

考虑,这也是一个名为“foo”的文件夹,阿帕奇试图打开目录,而不是解析规则。规则是否可能位于目录之前?

谢谢

测试与以下配置:

Options +FollowSymlinks 
Options -MultiViews 
RewriteEngine on 
AddDefaultCharset iso-8859-1 
RewriteRule ^foo$ foo.php 

而且从阿帕奇收到以下错误:周五三月07 15点06分34秒2014] [警惕] [客户端127.0.0.1 ] C:/htdocs/www.acasa.org.br.v2/.htaccess:选择多视图不在这里

回答

0

您需要使用-MultiViews它忽略文件夹允许的。通过使用

DirectorySlash Off 

但是解决您的图像问题建议的方法是::

Options +FollowSymLinks -MultiViews 

RewriteEngine On 
RewriteRule ^foo/?$ foo.php [L] 

您可以切换上DirectorySlash和关闭

<base href="http://www.domain.com/" /> 
+0

添加-MultiViews Apache是​​后返回错误: 内部服务器错误 服务器遇到内部错误或配置错误,无法完成您的请求。 – fcaserio

+0

@fcaserio和什么是你的整个'.htaccess'内容?以及'error_log'上显示的错误信息是什么?确保'foo.php'工作。 – Prix

+0

apache日志上的错误消息: [Fri Mar 07 15:08:30 2014] [alert] [client 127.0.0.1] C:/htdocs/www.acasa.org.br.v2/.htaccess:Option MultiViews not允许在这里。 这是的.htaccess: 选项+的FollowSymLinks 选项-MultiViews RewriteEngine叙述上 AddDefaultCharset ISO-8859-1 重写规则^ imprensa $ \t press_release.php – fcaserio