我对 Apache 不是很有经验,但我已经在我的测试箱上运行了以下设置数月:
me@mydev:/etc/apache2/sites-enabled$ vim 000-default.conf
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
因此基本上,只要我在 /var/www/html 下创建一个新文件夹,它就会在我的浏览器中可用。但现在我想尝试执行以下操作:
我创建了一个新的应用程序,其结构如下:
/var/www/html/testrestapp/src/public/index.php
它可以工作,但我必须导航至:
http://localhost/testrestapp/src/public/index.php/hello/sometestname
然后应用程序返回“sometestname”
但我想知道如何配置 apache,以便我可以像这样导航:
http://localhost/testrestapp/hello/sometestname
并得到相同的结果。
这是我修改 000-default.conf 文件的方式(顺便说一下,它是 sites-enabled 文件夹中唯一的文件):
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory "/var/www/html/testrestapp/">
RewriteEngine on
RewriteBase /testrestapp/
RewriteRule ^src/public/index.php/hello$ hello/ [R]
</Directory>
</VirtualHost>
但它对我来说不起作用。仍然得到 404。任何建议都值得感激。Ubuntu 上的 Apache 版本是 Apache 2.4.12
谢谢。