Я использую cms, называемый якорем. http://anchorcms.com/docs/getting-started/configuration
когда я иду на домен.com/posts, я получаю 404,
когда я перехожу на страницу domain.com/index.php/posts, отображается правильно.
это мой файл httpd.conf
<VirtualHost *:443> #ssl blah blah DocumentRoot /var/www/anchor/ ServerName domain.com ServerAlias domain.com <Directory /var/www/anchor/anchor/> AllowOverride All Options Includes MultiViews Require all granted </Directory> </VirtualHost>
это мой файл .htaccess
расположенный внутри /var/www/anchor/
Options -indexes <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / # Allow any files or directories that exist to be displayed directly RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d # Rewrite all other URLs to index.php/URL RewriteRule ^(.*)$ index.php/$1 [L] </IfModule> <IfModule !mod_rewrite.c> ErrorDocument 404 index.php </IfModule>
Я немного запутался, как настроить этот cms, .htcaccess должен идти в «корневом документе», который, я уверен, я помещаю в нужную папку. Я не думаю, что мне нужно установить url в подкаталог. какие-нибудь советы?
вот мой файл конфигурации. /var/www/anchor/anchor/config/app.php
<?php return array( 'url' => '/', 'index' => '',
Корень вашего документа – /var/www/anchor
, но вы допускаете только переопределения в /var/www/anchor/anchor
. Если вы не можете глобально разрешить переопределения, это отключит ваш файл htaccess. Попробуйте изменить свой <Directory>
в соответствии с корнем документа:
<Directory /var/www/anchor> AllowOverride All Options Includes MultiViews Require all granted </Directory>