Регулярное выражение для перезаписи URL htaccess

#php #.htaccess

#php #.htaccess

Вопрос:

привет ,

Я хочу переписать каталог www.mysite.com/index.php?category=news для www.mysite.com/news Я пишу этот код, но он не работает, кто-нибудь может помочь, пожалуйста, спасибо за помощь

 RewriteEngine On    
RewriteRule  ^([a-zA-Z0-9-/] )$ index.php?category=$1
  

Спасибо всем, кто ответил на мой вопрос, все коды работают, когда я пытаюсь написать www.mysite.com/news но я имею в виду, когда я нажимаю на ссылку
«a href=’index.php?category=news'»ссылка»/a» Я хочу, чтобы меня переписали на www.mysite.com/news немедленно

Комментарии:

1. Что происходит, когда вы переходите к mysite.com/news ?

2. Я совершенно уверен, что вы имеете в виду «переписать news в index.php?category=news «, а не наоборот

3. леви Моррисон , это работает, но я имею в виду, когда я нажимаю на ссылку «a href=’index.php?category=news'»ссылка»/a» Я хочу переписать на www.mysite.com/news немедленно

Ответ №1:

Просто для подтверждения, шаблон, которому вы хотите соответствовать, состоит из букв, цифр, дефисов и косой черты, верно?

Если да, попробуйте это

 RewriteRule ^([a-zA-Z0-9/-] )$ index.php?category=$1 [QSA,L]
  

Я думаю, что проблема, возможно, заключалась в вашем заказе дефиса и косой черты в выражении класса символов. Чтобы соответствовать дефисам, они должны отображаться первыми или последними в наборе символов.

Ответ №2:

Работает ли это?

 RewriteBase /
RewriteRule (.*) index.php?category=$1 [QSA,NC,L]
  

Ответ №3:

попробуйте это

 Options  FollowSymLinks
RewriteEngine on
RewriteRule news/ index.php?category=news
RewriteRule news index.php?category=news
  

Ответ №4:

 RewriteRule ^(news|or|some|other|category)$ index.php?category=$1 [QSA,NC,L]