Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache Symfony2:将localhost/app_dev.php重定向到localhost/_Apache_Mod Rewrite_Symfony - Fatal编程技术网

Apache Symfony2:将localhost/app_dev.php重定向到localhost/

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

我正在本地开发一个网站/web应用程序,其中包括许多ajax调用等。。。 我的问题是每次我都必须将app_dev.php包含到url中,所以当我继续prod时,我需要搜索并替换这些url

有没有办法通过apache隐藏app_dev.php?我读了很多关于这一点的问题,但没有一个解决方案对我有效

我已经做的是添加以下内容:

<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>