LINUX.ORG.RU

mod_rewrite (вуду)


0

0

aaa/.htaccess
Options +ExecCGI
RewriteEngine On
RewriteBase /aaa
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ aaa.fcgi/aaa/$1  [QSA,L]

Всё работает отлично, но если я пишу example.com/aaa, а не
example.com/aaa/, то получаю:
Bad Request
Your browser sent a request that this server could not understand.

Подскажите, плиз, как победить.

Пытался экспериментировать с RewriteRule ^$, но ничего хорошего не
получил.
★★★★

Ответ на: комментарий от friday

Ну если это делать в aaa/.htaccess, то это

example.com/aaa/aaa -> example.com/aaa/aaa/

А если на уровень выше сделать файл

RewriteBase /                                                                   
RewriteEngine on                                                                
RewriteRule ^aaa$ anyurl [R,NC,L]

То ничего не меняется. :( (400 bad request)

Davidov ★★★★
() автор топика

Больше похоже на хак, но работает:

RewriteBase /aaa                                                               
RewriteCond %{REQUEST_FILENAME} -d                                              
RewriteRule ^$ aaa.fcgi/aaa/$1  [QSA,L]                                       
RewriteCond %{REQUEST_FILENAME} !-f                                             
RewriteRule ^(.*)$ aaa.fcgi/aaa/$1  [QSA,L]                                   
                                                                                
                                            

Davidov ★★★★
() автор топика
Ответ на: комментарий от Davidov

Или даже так:

RewriteBase /aaa
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ aaa.fcgi/aaa/$1  [QSA,L]
DirectoryIndex aaa.fcgi/aaa/

Davidov ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.