我在 /etc/apache2/vhosts.d/ip-based_vhosts.conf 中有以下虚拟主机:
<VirtualHost test.local:80>
ServerAdmin [email protected]
ServerName test.local
DocumentRoot /home/web/test.net/html
ErrorLog /var/log/apache2/test-error.log
CustomLog /var/log/apache2/test-access.log combined
HostnameLookups Off
UseCanonicalName Off
ServerSignature On
<Directory "/home/web/test.net/html">
Options Indexes FollowSymLinks
AllowOverride All
<IfModule !mod_access_compat.c>
Require all granted
</IfModule>
<IfModule mod_access_compat.c>
Order allow,deny
Allow from all
</IfModule>
DirectoryIndex index.php
</Directory>
<IfModule proxy_fcgi_module>
ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/home/web/test.net/html/$1
</IfModule>
</VirtualHost>
在 /home/web/test.net/html 中我有:
.htaccess
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>
索引.php
<?php echo $_SERVER['REQUEST_URI']; ?>
当我访问时http://test.local我正确地得到了“/”(不带引号)。
但是当我访问其他东西时,例如http://test.local/abc我得到的是 404 页面而不是“/abc”。
我该如何解决这个问题才能正常工作?
答案1
您应该检查:
- 文件是否
.htaccess
有适当的权限 - 是否
mod_rewrite
启用