2011-12-22 3 views
0

У меня есть обычный PHP-скрипт, который я хочу использовать в приложении CakePHP (созданный предыдущим разработчиком). Я сделал папку в моей папке CakePHP WebRoot:Нормальный php в приложении Cake PHP и использование htaccess rewrite

Httpdocs -> приложения -> Webroot -> folderx

Можно ли запустить автономный скрипт в этой папке?

Кроме того, мой сценарий принимает идентификатор, например www.domain.com/folderx/index.php?id=123, и извлекает информацию (из названия продукта) из БД. Однако я хочу переписать URL-адрес: www.domain.com/folderx/name-of-the-product. Это вообще возможно? У webroot уже есть файл .htaccess, который обрабатывает перезаписываемые CakePHP. Смогу ли я использовать новый файл .htaccess с инструкциями перезаписи в www.domain.com/folderx/ для моего автономного скрипта.

+0

Моего файла htacess содержат следующее: 'код ' RewriteEngine On RewriteCond% {HTTP_HOST}!^Domain.com $ [NC] RewriteRule^(. *) $ Http://domain.com/$1 [L, R = 301] RewriteCond% {REQUEST_FILENAME}! -d RewriteCond% {REQUEST_FIL ENAME}! -f RewriteRule^(. *) $ Index.php? URL = $ 1 [QSA, L] 'code' – user1038814

+0

Есть ли конкретная причина, вы не делаете это в системе CakePHP? Вы можете сделать это контроллером (folderx) и добавить туда действие (например: продукт), которое затем примет название продукта в качестве параметра. –

ответ

0

Вам необходимо изменить существующие правила перезаписи на , а не переписать запросы, которые включают/folderx/в CakePHP. Если вам нужна помощь в этом, а руководства mod_rewrite недостаточно, поделитесь своими правилами перезаписи.

0

По умолчанию, Htaccess, в корневой директории, должен содержать:

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

В этом случае, все папки и файлы в корневой директории должны открыть нормально

Смежные вопросы