Craft CMS仅在添加'/index.php/'时有效

时间:2017-03-23 11:05:58

标签: php apache .htaccess

我已采取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有效

1 个答案:

答案 0 :(得分:0)

我可能完全错了,但您尝试更改“httpd.conf”文件中的“AllowOverride All”,我今天早些时候遇到了同样的问题,并在httpd配置中将AllowOverride从none更改为All修复了它