Я работаю над простым пятистраничным веб-сайтом с блогом. Это первый раз, когда я использую .htaccess, чтобы правильно переписать свои URL-адреса для оптимизации, оптимизированной для SEO.
Два параметра, которые я пытаюсь разрешить посетителю, это sitename.com / blog / category/ WORD или sitename.com / blog / SLUG . Если / категория / слово используется, я бы хотел, чтобы он перечислял все сообщения с выбранным словом категории. Если используется / slug (короткое название поста, например, "Learn-How-to-Code"), я бы хотел, чтобы он просто показывал этот конкретный пост.
Вот мой старый .htaccess:
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
Первоначально он работал нормально для отдельных страниц, таких как sitename.com / about , sitename.com / contact и т. Д., Но каждый раз, когда я пыталсяsitename.com/blog/SLUG или sitename.com/blog/category/WORD просто перенаправит на страницу блога. Я повторяю $ _GET ['category'] и $ _GET ['slug'] в blog.php, чтобы проверить его, но он ничего не показал.
Просматривая несколько постов здесь, я понял, чтоМне нужно было добавить несколько отдельных строк, чтобы просто проверить используемый блог и указать соответствующие параметры.
Вот мой текущий .htaccess:
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^blog/([^\.]+)$ blog.php?slug=$1 [NC,L]
RewriteRule ^blog/category/([^\.]+)$ blog.php?category=$1 [NC,L]
RewriteRule ^([^\.]+)$ $1.php [NC,L]
Имя sitename. com / blog / SLUG работает нормально, но каждый раз, когда я делаю sitename.com / blog / category / WORD , он показывает "category / WORD" как слаг, а не разбивает его на категориюслово.
Я что-то здесь не так делаю? Есть ли лучший способ сделать это?