Пути выпуска PHP, Apache, .htaccess или другие?

1

Я взял на себя веб-приложение, и в настоящее время я пытаюсь настроить его для моего локального dev envrionment. Я перенесла БД, и все, кажется, работает, за исключением некоторых путей, которые определены в файле.htaccess, представленном ниже. В частности, когда я нажимаю ссылки, соответствующие "проектам", "карьере" и другим, я получаю "Не могу подключиться к серверу". Более того, если я проверяю сайт в инструментах Safari Web Developer, я также вижу, что многие файлы CSS и JPG отмечены красным цветом, т.е. Их пути не могут быть найдены.

Теперь у меня есть виртуальные хосты, созданные в моей локальной среде разработки. Первоначально я думал, что это может быть проблема, но когда я пробую прямой путь к некоторому активу в браузере, он находит и открывает его.

Что может быть здесь? Живой сайт работает 5.5.14 PHP, и у меня есть 5.5.27. Имеет ли смысл пытаться понизить? Или проблема в другом месте?

Options +Indexes -MultiViews
RewriteEngine  on
RewriteBase    /

<IfModule mod_php5.c>
   php_value upload_max_filesize 50M
   php_value post_max_size 50M
</IfModule>

<IfModule mod_headers.c>
  Header set Access-Control-Allow-Origin http://blog.xxxxxx.com
  Header append Access-Control-Allow-Headers X-Requested-With
</IfModule>



RewriteRule    ^$ _wrapper.php?page=index [QSA,L]
RewriteRule    ^signup$ _wrapper.php?page=signup [QSA,L]
RewriteRule    ^verify/(.*)/(.*)$ _wrapper.php?page=verify&email=$1&email_verification_code_hash=$2 [QSA,L]

RewriteRule    ^lost_password$ _wrapper.php?page=lost_password [QSA,L]
RewriteRule    ^password_reset/(.*)$ _wrapper.php?page=password_reset&password_reset_code=$1 [QSA,L]
RewriteRule    ^password_reset_action$ _wrapper.php?page=password_reset_action [QSA,L]

RewriteRule    ^create$ _wrapper.php?page=album_create [QSA,L]
RewriteRule    ^login$ _wrapper.php?page=login [QSA,L]

RewriteRule    ^gift-cards$ _wrapper.php?page=gift_cards/digital [QSA,L]
RewriteRule    ^gift-cards/purchased/([0-9a-f-]+)$ _wrapper.php?page=gift_cards/purchased&guid=$1 [QSA,L]
RewriteRule    ^gift-card/details/([0-9a-f-]+)$ _wrapper.php?page=gift_cards/details&guid=$1 [QSA,L]

RewriteRule    ^faq$ _wrapper.php?page=faq [QSA,L]
RewriteRule    ^approach$ _wrapper.php?page=approach [QSA,L]
RewriteRule    ^projects$ _wrapper.php?page=projects [QSA,L]

RewriteRule    ^career$ _wrapper.php?page=career [QSA,L]
RewriteRule    ^career/([0-9]+)$ career/success [QSA,R]
RewriteRule    ^career/success$ _wrapper.php?page=career_success [QSA,L]

RewriteRule    ^blog$ _wrapper.php?page=blog [QSA,L]
RewriteRule    ^historian$ _wrapper.php?page=historian [QSA,L]
RewriteRule    ^terms$ _wrapper.php?page=terms [QSA,L]
RewriteRule    ^privacy$ _wrapper.php?page=privacy [QSA,L]
RewriteRule    ^help$ _wrapper.php?page=help [QSA,L]

RewriteRule    ^fb_albums$ _wrapper.php?page=fb_albums [QSA,L]
RewriteRule    ^fb_album/(.*)$ _wrapper.php?page=fb_album&album_id=$1 [QSA,L]

RewriteRule    ^profile$ _wrapper.php?page=profile [QSA,L]
RewriteRule    ^profile/edit$ _wrapper.php?page=profile_edit [QSA,L]

RewriteRule    ^album/([0-9]+)$ _wrapper.php?page=album&album_id=$1 [QSA,L]
RewriteRule    ^album/([0-9]+)/photos$ _wrapper.php?page=album_photos&album_id=$1 [QSA,L]
RewriteRule    ^album/([0-9]+)/review$ _wrapper.php?page=album_review_photos&album_id=$1 [QSA,L]
RewriteRule    ^album/([0-9]+)/people$ _wrapper.php?page=album_people&album_id=$1 [QSA,L]
RewriteRule    ^album/([0-9]+)/create_account$ _wrapper.php?page=album_create_account&album_id=$1 [QSA,L]
RewriteRule    ^album/([0-9]+)/details$ _wrapper.php?page=album_details&album_id=$1 [QSA,L]
RewriteRule    ^album/([0-9]+)/view_details$ _wrapper.php?page=album_view_details&album_id=$1 [QSA,L]
RewriteRule    ^album/([0-9]+)/shipping$ _wrapper.php?page=album_shipping&album_id=$1 [QSA,L]
RewriteRule    ^album/([0-9]+)/shipping_flash$ _wrapper.php?page=album_shipping_flashdrive&album_id=$1 [QSA,L]
RewriteRule    ^album/([0-9]+)/checkout$ _wrapper.php?page=album_checkout&album_id=$1 [QSA,L]
RewriteRule    ^album/([0-9]+)/purchased$ _wrapper.php?page=album_purchased&album_id=$1 [QSA,L]
RewriteRule    ^album/([0-9]+)/survey$ _wrapper.php?page=album_survey&album_id=$1 [QSA,L]
RewriteRule    ^album/([0-9]+)/proof$ _wrapper.php?page=album_proof&album_id=$1 [QSA,L]
RewriteRule    ^album/([0-9]+)/proof_title$ _wrapper.php?page=album_proof_title&album_id=$1 [QSA,L]
RewriteRule    ^album/([0-9]+)/proof/([0-9]+)$ _wrapper.php?page=album_proof_page&album_id=$1&proof_page_id=$2 [QSA,L]
RewriteRule    ^album$ / [R]

RewriteRule    ^dropbox$ _wrapper.php?page=dropbox [QSA,L]
RewriteRule    ^instagram$ _wrapper.php?page=instagram [QSA,L]
RewriteRule    ^instagram_success$ _wrapper.php?page=instagram_success [QSA,L]

RewriteRule    ^maker/album/([0-9]+)$ _wrapper.php?page=maker/maker_album&album_id=$1 [QSA,L]
RewriteRule    ^maker/album/([0-9]+)/proof$ _wrapper.php?page=album_proof&album_id=$1&maker=1 [QSA,L]
RewriteRule    ^maker/proof/([0-9]+)$ _wrapper.php?page=admin/proof&proof_id=$1&maker=1 [QSA,L]

RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^xxx.xxxxxxx.com [NC]
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^xxxxxxx.com [NC]
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
Теги:
.htaccess
mod-rewrite
path

2 ответа

0

Я смог решить это, найдя код, где $ BASE_URL установлен для приложения и добавляет случай для сервера xxxxxx.dev, который запускается на моем локальном компьютере.

0

Это связано с тем, что ваши относительные URI изменили базу. Первоначально база является / когда страница является /_wrapper..php?page=profile, и браузер правильно заполняет относительные ссылки с / base. Но когда браузер переходит на страницу типа /profile база внезапно становится /profile/ и она пытается добавить, что перед всеми относительными URL-адресами и, следовательно, ни одна из них не загружается.

Вы можете либо сделать свои ссылки абсолютными, либо изменить базу URI в заголовке ваших страниц (между тегами <head> </head>):

<base href="/">
  • 0
    Понимаю. Я думаю, я все еще не понимаю, почему это будет иметь значение, когда я просто копирую папку с одного сервера на другой. Есть ли способ изменить его в одном месте вместо всех страниц?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню