2016-08-24 3 views
0

Это мой файл .htaccess.htaccess RewriteBase для окр развития не работает

RewriteEngine On 

    RewriteBase /myapp_dev/ 

    RewriteCond %{REQUEST_URI} /index\.html$ [NC,OR] 
    RewriteCond %{REQUEST_FILENAME} -f [OR] 
    RewriteCond %{REQUEST_FILENAME} -d 
    RewriteRule^- [L] 

    RewriteRule ^(signup|signin)/?$ $1.html [L,NC] 

    RewriteRule ^home/?$ signup.html [L,NC] 

    RewriteRule . index.html [L] 

И в моем HTML-страницы, у меня есть

<!doctype html> 
 
<html class="no-js"> 
 
<head> 
 
    <meta charset="utf-8"> 
 
    <base href="/"> 
 
</head> 
 
<body> 
 
    
 
    <!-- Something here --> 
 
    
 
    
 
    <script src="public/libs/angular/angular.js"></script> 
 
    <script src="public/libs/angular-resource/angular-resource.js"></script> 
 
</body> 
 
</html>

Я нахожусь ожидая, что сервер запросит http://localhost/myapp_dev/public/libs/angular/angular.js

Но он запрашивает этот URL-адрес, который в любом случае не существует.

http://localhost/public/libs/angular/angular.js 

Любые проблемы с кодом .htaccess?

+0

Просто добавьте этот раз под '' раздел HTML вашей страницы: ' ' – anubhava

+0

Но я нашел, что это не лучшая практика, поскольку нам нужно снова ее изменить на тестовых, производственных серверах. – anilCSE

+1

Затем сохраняйте ту же структуру каталогов на dev, testing, prod. Переписать правила или .htaccess не вызывают этого, это использование относительных путей в 'src =" ... "', который вызывает это. – anubhava

ответ

0

На узле разработки создать новый .htaccess в корневом каталоге сайта и имеет дополнительное правило для обработки этих статических путей:

RewriteEngine On 

RewriteRule ^public/libs/.+$ /myapp_dev/$0 [L,NC,R=301,NE] 
Смежные вопросы