У меня есть файл .htaccess со следующим правилом:Apache URL переписывания - соответствующий каталог
RewriteRule ^api\/([A-Za-z0-9\-]+)\/?([0-9=a-zA-Z%]+)?\/?$ api.php?service=$1¶m=$2 [QSA,L]
По какой-то причине, он работает на моего хозяина, но не на моей локальной LAMP-установки. Есть ли что-то, что я делаю неправильно?
Apache версии: Apache/2.2.22 (Ubuntu)
Сообщение об ошибке: 404 Not Found ("Запрашиваемый URL/API/слово/поиск/не найдена на этом сервере")
Edit: Существует еще одно правило, переписывают, что работает, так что модуль mod_rewrite активирован:
RewriteRule ^([a-z]+)\.page$ index.php?template=$1 [QSA,L]
Apache s жет конфигурации (локально):
DocumentRoot /var/www/Development-Env
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/Development-Env/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
Edit # 2 Я пытаюсь соответствовать http://localhost/api/service/method/
.
пожалуйста, вы можете показать мне ссылку, что вы tryiing API/dir1/dir2/someging? – ddjikic
@ddjikic Я обновил свое оригинальное сообщение. – Leonard
Попробуйте добавить это поверх правила правил перезаписи 'Options + FollowSymlinks -MultiViews' –