x-cart 5.3.1.3 Не работает очистка URL и статических страниц

#apache #url #static #x-cart

#apache #url #статический #x -cart

Вопрос:

Я несколько дней был сбит с толку этим. При использовании чистых URL-адресов все HTML-страницы перенаправляются на домашнюю страницу. Это происходит как со статическими, так и с динамически генерируемыми страницами. Но все страницы .php работают корректно. Я использую следующий .htaccess и использую SSL в домене.

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

Эта информация взята из первоначальной установки и нескольких источников в Интернете. Я ни в коем случае не эксперт, и мне действительно нужна помощь. Большая часть этого мне чужда.

Есть предложения? Спасибо!

Комментарии:

1. Кроме того, все статические страницы перенаправляют на домашнюю страницу, даже если переключатель очистки URL отключен.

Ответ №1:

Попробуйте это.

 <IfModule mod_rewrite.c>
  RewriteEngine on

  RewriteCond %{HTTP:Authorization} ^(.*)
  RewriteRule .* - [e=HTTP_AUTHORIZATION:%1]

  RewriteRule (^|/). - [F]

  # Admin.php redirect rules.
  # Uncomment underlaying lines and replace <new_admin> with your path to admin.php.
  # Any requests to <new_admin>.php will be redirected to the real admin.php file.
  # RewriteCond %{ENV:REDIRECT_STATUS} ^$
  # RewriteRule ^admin.php(.*)$ - [NS,NC,L,R=404]
  # RewriteRule ^<new_admin>.php(.*)$ admin.php$1 [NC,L,QSA]

  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^sitemap.xml(?. )?$ cart.php?target=sitemap [NC,L,QSA]

  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^((([/_a-z0-9-] )/)?([_a-z0-9-] )/)?([_a-z0-9-] )(/?)(.([_a-z0-9-] ))?$ cart.php?url=$5amp;last=$4amp;rest=$3amp;ext=$7 [NC,L,QSA]

  RewriteBase /
</IfModule>
  

Ответ №2:

Пожалуйста, взгляните на original .htaccess: https://raw.githubusercontent.com/xcart/xcart5/master/src/.htaccess

 RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^((([/_a-z0-9-] )/)?([_a-z0-9-] )/)?([_a-z0-9-] )(/?)(.([_a-z0-9-] ))?$ cart.php?url=$5amp;last=$4amp;rest=$3amp;ext=$7 [NC,L,QSA]