.htaccess разрешить проблему относительного пути - PullRequest
0 голосов
/ 30 июня 2018

Я новичок в файлах .htaccess. На моем сайте есть страница, где пользователи могут искать книги по категориям и сортировать по некоторым параметрам. реальный URL страницы такой. Я использовал несколько CSS и JS файлов с относительными путями. Пример: <link href="../css/mystyle.css" rel="stylesheet">

www.example.com / запись / index.php? Кот =-фантаст и сортировки = дата

Я изменил этот URL с помощью файла .htaccess. для более значимого опыта URL.

#Turn Rewrite Engine On
RewriteEngine on

#Rewrite for ads.php
RewriteRule ^([0-9a-zA-Z_-]+) index.php?cat=$1 [NC,L]

Я хотел, чтобы мои URL были такими. и это работает.

www.example.com / запись / научная фантастика

www.example.com / пост / научная фантастика? Сортировать = дата

Но моя проблема в том, что когда пользователь вводит "/" конец URL. Страница не может загрузить файлы CSS или JS. Я хочу перенаправить или игнорировать "/" конец URL.

Проблема с этим URL

www.example.com / запись / научная фантастика /

www.example.com / пост / научная фантастика /? = Дата сортировка

Как разрешить это изменение файла .htaccess

1 Ответ

0 голосов
/ 30 июня 2018

Вы можете использовать эти правила в корне своего сайта .htaccess:

RewriteEngine on

## Unless directory, remove trailing slash
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/$ /$1 [NE,R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([\w-]+)$ index.php?cat=$1 [QSA,L]

Для долгосрочного подхода рассмотрите возможность использования абсолютного пути в CSS следующим образом:

<link href="/css/mystyle.css" rel="stylesheet">
...