我已采取Craft列出的所有步骤来纠正此问题。
我的public / .htaccess文件如下所示:
<IfModule mod_rewrite.c>
RewriteEngine On
# Send would-be 404 requests to Craft
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/(favicon\.ico|apple-touch-icon.*\.png)$ [NC]
RewriteRule (.+) index.php?p=$1 [QSA,L]
</IfModule>
在craft / config / general.php数组中添加了以下内容:
'omitScriptNameInUrls' => 'true',
我正在使用Ubuntu所以我将我的/etc/apache2/apache2.conf修改为:
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
然后我重新启动了Apache2:
sudo service apache2 restart
跑了:
sudo a2enmod rewrite
我仍然需要使用index.php来访问除根URL之外的所有URL。示例:http://myUrl.com有效,http://myUrl.com/index.php/api/entries.json有效
答案 0 :(得分:0)
我可能完全错了,但您尝试更改“httpd.conf”文件中的“AllowOverride All”,我今天早些时候遇到了同样的问题,并在httpd配置中将AllowOverride从none更改为All修复了它