Обработка нескольких дефисов в .htaccess (перезапись URL) - PullRequest
0 голосов
/ 13 ноября 2018

У меня проблема с перезаписью URL.Я написал следующее правило в своем файле .htaccess

RewriteRule ^c-([^/]*)-([^/]*)/$ cat.php?id=$1&slug=$2

. Он дает мне такие URL-адреса: http://localhost/actuco/c-628Y8x-france/ (с указанием идентификатора категории и ее слага).Этот URL отлично работает.

Но когда я набираю этот URL: http://localhost/actuco/c-xpS3cc-amerique-du-nord/, он больше не работает.Причиной проблемы должен быть тот факт, что последний слаг содержит несколько дефисов (amerique-du-nord), тогда как первый (франция) вообще не содержит дефисов (я пробовал все свои категории со слизнями, включая несколько дефисов).

Кто-нибудь знает, как решить эту проблему, пожалуйста?

Вот мой полный код .htaccess

Options +FollowSymlinks

RewriteEngine On

RewriteBase /actuco/
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_URI} /+[^\.]+$
#RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,L]
RewriteRule ^([^/]*)/([^/]*)/([^/]*)/([^/]*)/([^/]*)/([^/]*)/$ article.php?lng=$1&yr=$2&mo=$3&dy=$4&slug=$5&total_slug=$6
#RewriteRule ^([^/]*)-([^/]*)-([^/]*)$ waluty.php?cur=$1&amt=$2&lang=$3
RewriteRule ^c-([^/]*)-([^/]*)/$ cat.php?id=$1&slug=$2
RewriteRule ^([^/]*)/([^/]*)/$ url.php?mode=$1&u=$2
RewriteRule ^bio$ o.php [L]

Заранее спасибо!

1 Ответ

0 голосов
/ 13 ноября 2018

Вы можете попробовать:

RewriteRule ^c\-([\w]+)\-([\w-]+)\/$ cat.php?id=$1&slug=$2
...