Я перепробовал все, что мог придумать, но все еще не работает. Я пытаюсь заставить работать пример кода из книги Ларри Уллмана Advanced PHP. Его инструкций немного не хватало, поэтому мне пришлось провести небольшое исследование. Вот что я настроил:
имя пользователя.conf
<Directory "/Users/me/Sites/">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
httpd.conf
LoadModule rewrite_module libexec/apache2/mod_rewrite.so
DocumentRoot "/Users/me/Sites"
<Directory />
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order deny,allow
Allow from all
</Directory>
<Directory "Users/me/Sites">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
.htaccess
<IfModule mod_rewrite.so>
RewriteEngine on
RewriteBase /phplearning/ADVANCED/ch02/
# Redirect certain paths to index.php:
RewriteRule ^(about|contact|this|that|search)/?$ index.php?p=$1
RewriteLog "/var/log/apache/rewrite.log"
RewriteLogLevel 2
</IfModule>
Ничего не сработало, и он даже не войдет в файл rewrite.log. Что я сделал не так? К вашему сведению, даже когда я устанавливаю чрезвычайно простое правило или использую корень в качестве базы для перезаписи, это все равно терпит неудачу. Я также убедился, что модуль mod_rewrite работает. Я очень зол.
Джоэл,
Привет - только что столкнулся с той же проблемой. Видел этот пост:
и изменил мой имя пользователя.conf файл из
<Directory "/Users/myusername/Sites/">
Options Indexes MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
к
<Directory "/Users/myusername/Sites/">
Options Indexes MultiViews FollowSymlinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
и сейчас mod_rewrite
у меня работает.