2009-09-27 98 views
0

我刚刚从我的源代码移植到Ubuntu服务器从Windows和我一直有几个.htaccess的mod_rewrite问题。我为Apache启用了mod_rewrite。这里是我目前的.htaccess.htaccess mod_rewrite问题

RewriteEngine On 

RewriteRule ^css/default/?$ css/default.css 
RewriteRule ^user/?$ user.php 
RewriteRule ^user/([A-Za-z0-9_]+)/?$ user.php?username=$1 

这里是我遇到的问题的一些例子。出于某种原因,我可以访问

http://localhost/css/default 

没有问题,但是当我做

http://localhost/css/default/ 

它不能找到它。此外,访问

http://localhost/user/hunter101/ 

似乎没有注册hunter101作为GET了......任何建议?谢谢

回答

2

MultiViews可能会有一些冲突,因为您的网址和文件的名称非常相似。尝试禁用它:

Options -MultiViews 
+0

这个修复了,谢谢! – axsuul 2009-09-27 19:53:23

+0

有趣...不错的检查Gumbo :) – 2009-09-27 22:51:12

0

难道你不应该逃避前锋?

RewriteRule ^user\/([A-Za-z0-9_]+)\/?$ user.php?username=$1 

我可能是错的。

+2

我很确定mod_rewrite不需要正斜杠来转义。 – 2009-09-27 19:22:04

+0

此外为了完整起见:第一个斜杠不应该逃脱吗? – Gumbo 2009-09-27 19:25:38