ZendFrameWork mod_rewrite включен, но URL-адреса все еще не работают - Wampserver 2.1? - PullRequest
0 голосов
/ 28 января 2012

Я включил включен mod_rewrite и у меня в httpd.conf есть следующее:

<Directory />
  Options FollowSymLinks
  AllowOverride all
  Order allow,deny
  Allow from all
</Directory>

Я настроил псевдоним для указания на общую папку в проекте 127.0.0.1/whatford/

Но я все еще должен префикс моего URL с index.php для доступа к другому контроллеру / views: пример = 127.0.0.1/whatford/index.php/contact - вместо 127.0.0.1/whatford/contact?

Любая помощь будет оценена спасибо

Ответы [ 2 ]

3 голосов
/ 28 января 2012

Попробуйте работать с vhost.

Вот настройки, которые вы можете попробовать на основе доменного имени test.local

Так что, если вы используете обновление Windows C: \ Windows \ System32 \драйверы \ etc \ hosts, добавив домен следующим образом:

# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
#      102.54.94.97     rhino.acme.com          # source server
#       38.25.63.10     x.acme.com              # x client host

# localhost name resolution is handled within DNS itself.
    127.0.0.1       localhost 
    127.0.0.1       test.local

И если вы используете Apache под Windows, обновите файл httpd-vhosts.conf следующим образом (Убедитесь, что вы указали правильное имя папкив DocumentRoot и Directory):

#
# Virtual Hosts
#
# If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at 
# <URL:http://httpd.apache.org/docs/2.2/vhosts/>
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
# configuration.
#
# Use name-based virtual hosting.
#
# NameVirtualHost *:80
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "C:\www\yourProjectApplicationFolder\public"
    ServerName test.local
    <Directory C:\www\yourProjectApplicationFolder\public>
    Options Indexes FollowSymLinks
    AllowOverride All
    allow from all
    </Directory>
</VirtualHost>

Вам необходимо обязательно раскомментировать строку

#Include conf/extra/httpd-vhosts.conf

в файле Apache httpd.conf, чтобы она выглядела следующим образом:

Include conf/extra/httpd-vhosts.conf

Затем перезапустите Apache и перейдите на http://test.local, и у вас должна быть начальная страница.

Дайте мне знать, если это работает для вас или у вас возникнут какие-либо проблемы.

Ура,

Дэйв

0 голосов
/ 28 января 2012

Я использую это:
$_SERVER["REQUEST_URI"] = str_replace('index.php','',$_SERVER["REQUEST_URI"]);
добавлен в начало моего index.php, чтобы избавиться от index.php в URL.

также проверьте этот Vhost в Zend Server , следуя этому посту, вы можете убедиться, что ваши настройки Apache верны для ZF, даже если вы не настроили полный Vhost.

...