这是我的apache 2.4虚拟主机configuration
<VirtualHost *:80> DocumentRoot /var/www/fd-pro/app-api/public_html ServerName subdomain.domain.com.au ServerAlias subdomain.domain.com.au <Directory /var/www/fd-pro/app-api/public_html> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/subdomain-error.log LogLevel warn CustomLog ${APACHE_LOG_DIR}/subdomain-access.log combined </VirtualHost>
我也启用了重写模块。
在/ var / www / fd-pro / app-api / public_html中有一个htaccess
话
Header set Access-Control-Allow-Origin "*" Header set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT" Header set Access-Control-Max-Age "1000" Header set Access-Control-Allow-Headers "x-requested-with, Content-Type, origin, authorization, accept, client-security-token" RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [QSA,L]
但仍然不工作!
任何线索,请?
如果您有权访问主configuration,则不应该使用.htaccess,在虚拟主机上下文中添加configuration,这将为您节省很多麻烦,但是如果您坚持的话。
回答你的问题:你粘贴的.htaccess中缺less的是指令:
RewriteEngine on
由于加载mod_rewrite是不够的,要在你的服务器上“启用”它的function,你必须添加这个指令,然后在你想要使用它的上下文中添加其他的。
改进您的解决scheme:
尽pipe如此,你甚至不需要mod_rewrite的那些“弃用”方法,因为一个:
FallbackResource /index.php
在你的虚拟主机将完全相同,没有mod_rewrite,没有这么多的指令一件事。