2015-06-16 3 views
0

На моем сайте в настоящее время работает WordPress так что моя .htaccess выглядит следующим образом:соединение двух файлов .htaccess

RewriteEngine On 
RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 

Но мне нужно, чтобы проверить другие приложения (Laravel) там. Если я заменил .htaccess на это:

RewriteCond %{REQUEST_URI} !^public 
RewriteRule ^(.*)$ public/$1 [L] 

Работает приложение laravel. Есть ли способ сохранить работу обоих приложений? В частности, было бы хорошо, если бы второе приложение запускалось только на каком-то псевдониме, например. www.mysite.com/secreturl. Я попытался объединить его так:

RewriteEngine On 
RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 


RewriteRule ^secret(.*)$ public/$1 [L] 

Но я ничего не мог добиться. Благодарю.

+0

Выполнить каждый в там собственном каталоге или поддомен –

+0

не существует какой-либо способ, как совместить это? Работа в собственном каталоге не работает, и субдомен будет моим последним шансом, потому что мой хостинг имеет немного странную структуру папок. – dontHaveName

+0

ваш wordpress находится в 'public_html', а laravel находится в' public_html', а также в его общей папке в 'public_html/public'? – Luceos

ответ

1

У вас не может быть обоих приложений в том же каталоге, потому что им нужно как index.php в качестве точки входа приложения, и что создает конфликты (также каталог Laravel public не должен находиться внутри корня документа, это должен быть документ корень).

Вы должны использовать приложение Laravel (если это второстепенное значение) с использованием виртуального хоста либо в подкаталоге, либо в поддомене. Вот пример использования субдомен:

<VirtualHost *:80> 
    ServerName laravelapp.example.com 
    DocumentRoot "/path/to/larvel/app/public" 

    <Directory "/path/to/larvel/app/public"> 
     AllowOverride all 
    </Directory> 
</VirtualHost> 
+0

У меня нет доступа к do что-нибудь вроде вашего примера кода. Если я поместил laravel в подкаталог, тогда маршрутизация не работает. – dontHaveName

+0

Если вы используете общий сервер, создайте субдомен с помощью панели управления (обычно это создает подкаталог в корне вашего документа с именем поддомена). Переместите свой код приложения Laravel в этот подкаталог, затем следуйте [этому учебнику] (https://medium.com/@kunalnagar/deploying-laravel-5-on-godaddy-shared-hosting-888ec96f64cd) о том, как настроить Laravel на (поскольку для общедоступных хостинговых служб часто существуют ограничения, и Laravel не был предназначен для этого). Учебник предназначен для GoDaddy, но вы можете экстраполировать необходимые шаги и использовать их на любом хостинге. – Bogdan

+0

Я следовал этому учебнику. Но это просто не работает. Проблема в том, что мой хостинг имеет такую ​​структуру: www/domains/xxx.com, www/subdom/name, и я должен иметь 1 .htacces внутри www (чтобы домены, псевдонимы, поддомены работали правильно). Он работал только один раз, когда я заменил этот wp .htaccess моим (не в субдомене - там он не работает - я могу настроить только домашнюю страницу) – dontHaveName

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