У меня есть несколько строк в .htaccess, я пытаюсь сгладить URL, но, похоже, я что-то упустил.
URL-адрес перенаправляется, но большинство ресурсов «НЕ НАЙДЕНО» при перенаправлении URL-адреса.
Вот код
Options -Indexes +FollowSymLinks
RewriteEngine On
###########music#######
RewriteCond %{THE_REQUEST} \ /+profile\.php\?user=([^&]+)&title=([^&]+)&uid=([^&\ ]+)
RewriteRule ^ /%1/%2/%3? [L,R=301]
RewriteCond %{THE_REQUEST} \ /+profile\.php\?user=([^&]+)&title=([^&\ ]+)
RewriteRule ^ /%1/%2? [L,R=301]
#################internally redirect////////////
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+)/([^/]+)$ profile.php?user=$1&title=$2&uid=$3 [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+)$ profile.php?user=$1&title=$2 [L,QSA]
Что я делаю неправильно?
Похоже, вы столкнулись с самой распространенной проблемой, с которой сталкиваются люди при переходе на красивые схемы URL. Решение также просто, просто используйте абсолютный путь в ваших файлах css, js, images, а не относительный. Это означает, что вы должны убедиться, что путь к этим файлам начинается с http://
или косая черта /
,
Вы можете попробовать добавить это в HTML-заголовок вашей страницы: <base href="/" />
так что каждый относительный URL разрешается из этого URL, а не из текущего URL.
Других решений пока нет …