.Htaccess он не позволяет мне использовать / в дружеском унифицированном указателе ресурса

В моем .htaccess у меня есть следующее:

RewriteRule ^topic=([0-9]+)\+autor=([-0-9a-zA-Z/%&]+)\+titulo=(.*)$ /post.php?topic=$1&autor=$2&titulo=$3 [L]

который позволяет мне использовать url этого типа:

http://localhost/topic=8+autor=JhonDoe+titulo=Este-post-es-solo-prueba

проблема состоит в том, чтобы я захотел заменить = и + .htaccess из-за /

Было бы должно оставаться нечто похожее, если я не ошибаюсь:

RewriteRule ^topic/([0-9]+)\/autor=([-0-9a-zA-Z/%&]+)\/titulo=(.*)$ /post.php?topic=$1&autor=$2&titulo=$3 [L]

для того, чтобы он был позволено мне использовать такой url:

http://localhost/topic/8/autor/JhonDoe/titulo/Este-post-es-solo-prueba

но по какому-то разуму у меня выходит ошибка. Что я врежу?

1
задан 09.01.2017, 03:22
1 ответ

EstÃ: s в правильном. S¦lo не было заканчивать заменять все символы:

RewriteRule ^topic/([0-9]+)\/autor=([-0-9a-zA-Z/%&]+)\/titulo=(.*)$ /post.php?topic=$1&autor=$2&titulo=$3 [L]
                           ^      ^                  ^       ^
  • Fataba заменять 2 =
  • , Хотя \/ - vÃ: lido, это marqué, потому что он не надо (s¦lo он необходим убегать бруски в механизмах regex, которые используют их как delimitadores)

Quedar¦ - a:

RewriteRule ^topic/([0-9]+)/autor/([-0-9a-zA-Z/%&]+)/titulo/(.*)$ /post.php?topic=$1&autor=$2&titulo=$3 [L]
1
ответ дан 24.11.2019, 11:43