我在我的php框架Nette中使用WAMPServer2。
我首先将其文件夹直接复制到WAMP的www文件夹中。我启用了mod_rewrite模块,并设置了每个AllowOverride All。一切都运作良好。
我的问题是,因为多个项目,我为同一个项目创建了别名。现在,在Nette框架内部的路由工作,因为mod_rewrite doesent。我相信别名有一些额外的设置。我试图找到一些东西,但不成功。我对修复apache设置的经验很少。有没有办法让它运作?感谢。
答案 0 :(得分:4)
我今天在WAMP中遇到了这个mod_rewrite和别名目录。解决方案是在别名目录的.htaccess中设置RewriteBase。
解决方案是设置
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /aliasdirectory/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
答案 1 :(得分:0)
这可能是一个古老的问题,但是我的解决方案如下: 我不想使用.htaccess RewriteBase进行管理,因为在生产环境中使用了相同的文件,因此需要更改RewriteBase。
我创建了Windows符号链接,而不是创建Apache别名。 代替Apache指令
Alias /<alias> /<path>/<to>/<alias>/<dir>
我转到当前的webroot目录并创建广告
mklink /d <alias> /<path>/<to>/<alias>/<dir>
并且不需要更改任何其他配置(我不确定哪个目录路径具有许可权)。