Apache Symfony2:将localhost/app_dev.php重定向到localhost/
我正在本地开发一个网站/web应用程序,其中包括许多ajax调用等。。。 我的问题是每次我都必须将app_dev.php包含到url中,所以当我继续prod时,我需要搜索并替换这些url 有没有办法通过apache隐藏app_dev.php?我读了很多关于这一点的问题,但没有一个解决方案对我有效 我已经做的是添加以下内容:Apache Symfony2:将localhost/app_dev.php重定向到localhost/,apache,mod-rewrite,symfony,Apache,Mod Rewrite,Symfony,我正在本地开发一个网站/web应用程序,其中包括许多ajax调用等。。。 我的问题是每次我都必须将app_dev.php包含到url中,所以当我继续prod时,我需要搜索并替换这些url 有没有办法通过apache隐藏app_dev.php?我读了很多关于这一点的问题,但没有一个解决方案对我有效 我已经做的是添加以下内容: <VirtualHost *:80> ServerAdmin webmaster@dummy-host.example.com DocumentR
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "C:/wamp/www/web"
DirectoryIndex app_dev.php
ServerName dummy-host.example.com
ServerAlias localhost
ErrorLog "logs/dummy-host.example.com-error.log"
CustomLog "logs/dummy-host.example.com-access.log" common
<Directory "C:/wamp/www/web">
AllowOverride All
Allow from All
</Directory>
</VirtualHost>
服务器管理员webmaster@dummy-host.example.com
DocumentRoot“C:/wamp/www/web”
DirectoryIndex应用程序_dev.php
ServerName dummy-host.example.com
服务器别名本地主机
ErrorLog“logs/dummy host.example.com error.log”
CustomLog“logs/dummy host.example.com access.log”通用
允许超越所有
通融
到我的httpd.conf,但它被完全忽略
我正在使用WAMP 2.2我将我的web/.htaccess更改为以下内容:
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
#<IfModule mod_vhost_alias.c>
# RewriteBase /
#</IfModule>
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ app_dev.php [QSA,L]
</IfModule>
选项+FollowSymlinks
重新启动发动机
#
#重写基/
#
重写cond%{REQUEST_FILENAME}-F
重写规则^(.*)$app_dev.php[QSA,L]
我在httpd.conf中添加了以下内容:
DocumentRoot "c:/wamp/www/web"
<Directory "c:/wamp/www/web">
DocumentRoot“c:/wamp/www/web”
和我的httpd-vhosts.conf(C:\wamp\bin\apache\apache2.4.2\conf\extra):
服务器管理员webmaster@dummy-host.example.com
DocumentRoot“C:/wamp/www/web”
DirectoryIndex应用程序_dev.php
服务器名本地主机
服务器别名本地主机
ErrorLog“logs/dummy host.example.com error.log”
CustomLog“logs/dummy host.example.com access.log”通用
允许超越所有
通融
我将采用更一致的方法来处理此捆绑包:
然后,您可以根据它们的名称生成路由,
app_dev.php
添加将在dev环境中进行。您似乎正在尝试为Symfony
设置一个开发环境
更简单的解决方案是创建虚拟主机并告诉它不要使用.htaccess
,因为正是.htaccess
文件导致虚拟主机设置被覆盖
请记住,在httpd.conf
或httpd vhosts.conf
文件中执行任何操作后,都会应用.htaccess
用于开发的虚拟主机mysite.dev
<VirtualHost *:80>
ServerName mysite.dev
ServerAlias www.mysite.dev
DocumentRoot e:/testing/mysite/web
<Directory "e:/testing/mysite/web/">
// disable the .htaccess in the web folder
// from undoing the attempt to go straight to app_dev.php
AllowOverride None
Require local
// this forces app_dev.php to be run
<IfModule rewrite_module>
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ app_dev.php [QSA,L]
</IfModule>
</Directory>
ErrorLog "D:/wamp/logs/mysite.dev.apache.error.log"
CustomLog "D:/wamp/logs/mysite.dev.apache.access.log" combined
php_value error_log "D:/wamp/logs/mysite.dev.php.error.log"
</VirtualHost>
ServerName mysite.dev
ServerAlias www.mysite.dev
文档根:/testing/mysite/web
//禁用web文件夹中的.htaccess
//取消直接转到app_dev.php的尝试
不允许超限
要求本地
//这将强制运行app_dev.php
选项-多视图
重新启动发动机
重写cond%{REQUEST_FILENAME}-F
重写规则^(.*)$app_dev.php[QSA,L]
ErrorLog“D:/wamp/logs/mysite.dev.apache.error.log”
CustomLog“D:/wamp/logs/mysite.dev.apache.access.log”组合
php_值错误_log“D:/wamp/logs/mysite.dev.php.error.log”
用于在PROD环境中进行测试的虚拟主机
<VirtualHost *:80>
ServerName mysite.dev
ServerAlias www.mysite.dev
DocumentRoot e:/testing/mysite/web
<Directory "e:/testing/mysite/web/">
AllowOverride All
Require local
</Directory>
ErrorLog "D:/wamp/logs/mysite.prod.apache.error.log"
CustomLog "D:/wamp/logs/mysite.prod.apache.access.log" combined
php_value error_log "D:/wamp/logs/mysite.prod.php.error.log"
</VirtualHost>
ServerName mysite.dev
ServerAlias www.mysite.dev
文档根:/testing/mysite/web
允许超越所有
要求本地
ErrorLog“D:/wamp/logs/mysite.prod.apache.error.log”
CustomLog“D:/wamp/logs/mysite.prod.apache.access.log”组合
php\u值错误\u日志“D:/wamp/logs/mysite.prod.php.error.log”
现在您可以保留.htaccess
文件的原样,因为当您将此站点移动到实时服务器时,它可能非常相关
您也不需要修改标准WAMPServer默认值中的默认
httpd.conf
文件中的任何内容。这个捆绑包似乎添加了一个额外的js文件来完成这项工作?这不是有点夸张吗?这是一个简单的文件,您也可以进行压缩和缩小。这样,您的路由是一致的,也就是说,如果您在服务器端代码中更改它们,这些更改也会反映在js代码中。
<VirtualHost *:80>
ServerName mysite.dev
ServerAlias www.mysite.dev
DocumentRoot e:/testing/mysite/web
<Directory "e:/testing/mysite/web/">
AllowOverride All
Require local
</Directory>
ErrorLog "D:/wamp/logs/mysite.prod.apache.error.log"
CustomLog "D:/wamp/logs/mysite.prod.apache.access.log" combined
php_value error_log "D:/wamp/logs/mysite.prod.php.error.log"
</VirtualHost>