所以我有了这个在它的.htaccess文件:.htaccess无法正常工作,我做错了什么?
SetEnv APPLICATION_ENV development
RewriteEngine On
RewriteRule ^/path/to/app/(.*)$ /path/to/app/public/$1 [NC,L]
当我去/路径/到/应用/浏览器会显示,而不是服务器重定向到/路径的目录结构/ to/app/public/$ 1
我在做什么错?
所以我有了这个在它的.htaccess文件:.htaccess无法正常工作,我做错了什么?
SetEnv APPLICATION_ENV development
RewriteEngine On
RewriteRule ^/path/to/app/(.*)$ /path/to/app/public/$1 [NC,L]
当我去/路径/到/应用/浏览器会显示,而不是服务器重定向到/路径的目录结构/ to/app/public/$ 1
我在做什么错?
我想你尝试构建Symfony应用程序?要重写规则,你需要允许覆盖在httpd.conf
DocumentRoot "/var/www/symfony/web"
<Directory "/var/www/symfony/web">
allow from all
AllowOverride All <-------------
Options +Indexes
</Directory>
如果您使用指令
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
这意味着if
目录存在then
显示结构else
使用其他重写规则
也可尝试
RewriteRule ^/path/to/app/(.*)$ /path/to/app/public/$1 [QSA,L]
我不喜欢无法访问虚拟主机 – 2013-03-24 21:53:18
您可以在.htaccess文件中写入它 – Barif 2013-03-25 10:17:05
问题是这一行:
RewriteRule ^/path/to/app/(.*)$ /path/to/app/public/$1 [NC,L]
记住:重写不匹配导致的斜线。将您的规则更改为:
RewriteEngine On
RewriteBase/
RewriteRule ^(path/to/app)/(.*)$ /$1/public/$2 [NC,L]
感谢您的帮助,仍然无法正常工作。如果这有所帮助,我的.htaccess文件位于应用程序目录中。 – 2013-03-25 14:28:54
什么是您的DOCUMENT_ROOT设置?它是应用程序目录上的一个dor吗? – anubhava 2013-03-25 14:42:49
如果您有权访问它们,请检查apache错误日志。另一件事是帮助你改写规则[重写日志](http://httpd.apache.org/docs/2.2/en/mod/mod_rewrite.html#rewritelog)...帮助我调试一些复杂的规则 – Pykler 2013-03-24 20:47:56