2012-08-08 147 views
1

我在开发机器上使用Wamp来开发项目。这是我的.htaccess:.htaccess mod_rewrite无法正常工作

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /index.php?$1 [L] 
RewriteBase /project/ 

这是放在本地主机/工程,使本地主机一样/项目/某事的任何请求,被路由到本地主机/项目/ index.php文件/东西

然而,他们被路由到本地主机/ index.php /东西

我怀疑它与我如何使用RewriteBase有关。我如何解决它?

回答

1

为什么不把基地放在重新包装里?

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /project/index.php?$1 [L] 

编辑:

这个问题可以帮助你:htaccess RewriteBase

3

您需要删除斜线在您的规则:

# no slash---------v 
RewriteRule ^(.*)$ index.php?$1 [L] 

阿帕奇一种猜测是否达到目标一个RewriteRule是一个URL路径或文件路径。当它以斜杠开始时,它假定它是一个URL路径,并且它是绝对的,所以它会转到文档根目录的index.php。如果没有斜杠,它会猜测文件路径或使用重写基础来帮助确定使用哪一个。

您还应该将RewriteBase指令移到您的规则上方。