Что мне нужно сделать, чтобы исправить мои маршруты CakePHP - PullRequest
0 голосов
/ 29 декабря 2011

в настоящее время, когда я нажимаю ссылку на моем веб-сайте, создается URL-адрес, похожий на этот

http://domainname.com/app/webroot/index.php/links

из-за этого страница загружается неправильно. если я отредактирую URL вручную, чтобы он выглядел следующим образом

http://domainname.com/links

все загружается правильно. Мои три файла .htaccess выглядят так /

<IfModule mod_rewrite.c> 
   RewriteEngine on 
   RewriteBase / 
   RewriteRule    ^$ app/webroot/    [L] 
   RewriteRule    (.*) app/webroot/$1 [L] 

</IfModule>

приложение /

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteBase / 
    RewriteRule    ^$    webroot/    [L] 
    RewriteRule    (.*) webroot/$1    [L] 
 </IfModule>

приложение / Webroot /

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase / 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.*)$ /index.php?url=$1 [QSA,L]  
</IfModule> 

Есть ли что-то, что мне нужно изменить здесь? я должен сделать эти изменения где-нибудь еще? Этот сайт размещен на общем хостинге Godaddy. Я не знаю, имеет ли это какое-либо отношение к этому.

UPDATE: вот ссылка.

<?php echo $this->Html->link('Portfolio', array('controller' => 'images', 'action' => 'index'))?>

Я также пытался удалить строку RewriteBase / из всех файлов. Это не помогло.

также это то, что находится в моем файле rout.php.

Router::connect('/', array('controller' => 'posts', 'action' => 'index'));

Ответы [ 3 ]

0 голосов
/ 29 декабря 2011

Пара вещей, которые вы можете проверить:

  1. mod_rewrite доступен и работает
  2. Конфигурация Apache позволяет эти опции: Индексы MultiViews FollowSymLinks
  3. Перезаписать в базе ваш .htaccess на самом деле переписывает в правильный каталог, если у вас есть несколько приложений CakePHP. Например. Я должен использовать RewriteBase / ~ Shaz / WebApps / MyApp /

Также есть множество постов в google и даже в stackoverflow, так что, возможно, стоит убедиться, что у вас те же настройки / окружение "по умолчанию", что и у кого-то другого, и вы сможете работать оттуда.

Если ничего не помогает, вы можете использовать альтернативную «симпатичную» настройку URL, указанную в файле config / core.php.

0 голосов
/ 30 декабря 2011

Мне пришлось закомментировать следующую строку в файле core.php.

Configure::write('App.baseUrl', env('SCRIPT_NAME'));

Я забыл, что мне нужно раскомментировать его, чтобы все работало на моем сервере разработки.

0 голосов
/ 29 декабря 2011

Попробуйте убрать все строки RewriteBase

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...