.htaccess для дружественного URL

Я хочу сделать дружественный URL для одного из моих проектов. В настоящее время мой URL http://example.com/profile.php?user=someprofile и я хочу сделать это http://example.com/someprofile, Я попробовал описанный ниже htaccess, но мои файлы CSS и изображения не загружаются.

RewriteEngine on

RewriteCond $1 !^(profile\.php|assets|editor|css|js|scripts|images|img|media|xml|user_guide|robots\.txt|favicon\.ico)
RewriteRule ^g/([^/\.]+)/?$ profile.php?user=$1 [L]
<Files profile>
ForceType application/x-httpd-php
</Files>

Как мне этого добиться?

-1

Решение

Это звучит как проблема с относительными / абсолютными URL. Так как вы добавили /g/ в начале ваших URL, которые изменили относительную базу URI, так что все ваши относительные ссылки будут сломаны. Вам нужно либо изменить ссылки на абсолютные ссылки, либо добавить относительную базу URI в заголовок ваших страниц:

<base href="/" />
0

Другие решения

Иметь свой .htaccess как это:

RewriteEngine on

# If the request is not for a valid directory
RewriteCond %{REQUEST_FILENAME} !-d
# If the request is not for a valid file
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ profile.php?user=$1 [L,QSA]

Проблема пути css / js / images:
В файлах css, js, images лучше использовать абсолютный путь, чем относительный. Это означает, что вы должны убедиться, что путь к этим файлам начинается с http:// или косая черта /,

Иначе Вы можете попробовать добавить это в <head> раздел HTML вашей страницы: <base href="/" /> так что каждый относительный URL разрешается из этого URL, а не URL текущей страницы.

0

По вопросам рекламы [email protected]