Что не так с этим правилом многоуровневой перезаписи каталогов htaccess?
У меня есть некоторые проблемы с моим htaccess...
Я хочу, чтобы мой URL был таким:
http://example.com/artist/
http://example.com/artist/rihanna/
http://example.com/artist/rihanna/biography/
http://example.com/artist/rihanna/video/
http://example.com/artist/rihanna/news/
Проблема заключается во всей работе URL, кроме "http://example.com/artist/"
RewriteRule ^artist/([^_]*)/biography/$ /artist-biography.php?name=$1 [L]
RewriteRule ^artist/([^_]*)/biography?$ /artist/$1/biography/ [R=301,L]
RewriteRule ^artist/([^_]*)/video/$ /artist-video.php?name=$1 [L]
RewriteRule ^artist/([^_]*)/video?$ /artist/$1/video/ [R=301,L]
RewriteRule ^artist/([^_]*)/news/$ /artist-news.php?name=$1 [L]
RewriteRule ^artist/([^_]*)/news?$ /artist/$1/news/ [R=301,L]
RewriteRule ^artist/([^_]*)/$ /artist.php?name=$1 [L]
RewriteRule ^artist/([^_/]+)$ /artist/$1/ [R=301,L]
RewriteRule ^artist/$ /artist-page.php [L]
RewriteRule ^artist?$ /artist/ [R=301,L]
1 ответ
Решение
Эта линия
RewriteRule ^artist/([^_]*)?$ / Artist/$1/ [R=301,L]
будет соответствовать http://example.com/artist/
что, вероятно, не то, что вы хотели. Измените это как ниже
RewriteRule ^artist/([^_/]+)$ /artist/$1/ [R=301,L]
Если это не решит проблему полностью, дайте мне знать результат.