модификация переписывает regex

Под открытым небом????

0
задан 29 October 2009 в 17:18
4 ответа

Читая № 2 Фаз API, я думаю, что это - Ваша проблема. Используя абсолютный URL для перезаписи в .htaccess файле, работавшем для меня.

RewriteRule ([a-z0-9_-]+)$ http://my.domain.com/index.php?room_id=$1 [NC,L]
0
ответ дан 5 December 2019 в 17:49
  • 1
    Если Ваша замещающая строка запускается с " http://" Вы автоматически генерируете внешние 302 перенаправления вместо внутреннего псевдонима URI. –  joebert 27 November 2009 в 17:08

Не делайте Вы хотите:

RewriteRule  ^/chat2/([a-z0-9_-]+)/$ /chat2/index.php?room_id=$1 [NC,L]

Так как Вы хотите перенаправить к /chat2/index.php?....

0
ответ дан 5 December 2019 в 17:49
  • 1
    heh, да, я был бы, в конечном счете понял это, когда он вручил мне домашнюю страницу вместо страницы чата, но I' m, все еще получая 404 страницы... –  Benny B 29 October 2009 в 17:24

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

Options +FollowSymlinks
RewriteEngine On
RewriteBase /chat2/
RewriteRule  ^/chat2/([a-zA-Z0-9_-]+)/?$ /index.php?room_id=$1 [NC,L]
0
ответ дан 5 December 2019 в 17:49

Эмпирическое правило с RewriteRule, если Ваши первые два символа "^ /" затем Ваш третий символ лучше быть вопросительным знаком для создания той наклонной черты вправо дополнительной.

^/?chat...

Это - вероятно, не Ваша проблема все же. Смотря на Ваш rewritelog, Ваша первая строка указывает, что URI разделяется вниз к "asdf", прежде чем шаблон будет применен. Путем Вы читаете, те строки префикса то, что что-либо после "->" то, против чего шаблон становится подобранным.

Таким образом в Вашем случае, Ваш RewriteRule должен, вероятно, быть похожим на это

RewriteRule ^([a-z0-9_-]+)/?$ index.php?room_id=$1 [NC,L]

Если Вы находитесь на современной версии Apache, который я предполагаю, что Вы - то, потому что я не верю + (один или несколько), квантор доступен в более ранних версиях mod_rewrite, можно использовать совместимый с Perl синтаксис регулярного выражения в шаблоне, включая shorthands, такой как "\d" для обозначения "0-9".

RewriteRule ^([a-z\d_-]+)/?$ index.php?room_id=$1 [NC,L]
0
ответ дан 5 December 2019 в 17:49

Теги

Похожие вопросы