Пробовал несколько решений из Интернета, бутон не работал для меня. Поэтому вот моя ситуация, и я был бы очень рад, если кто-то может мне помочь.Код перезаписи не работает
Это мой httpd.conf файл основной информации по данному вопросу:
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory "/var/www/html">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
Это мой .htaccess информация:
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^blog([^/]*)/([^/]*)$ /post.php?bID=$1&title=$2 [L]
Цель состояла в том, чтобы переписать
от: www.site.com/post.php?bID=7&title=blog-title
: www.site.com/blog7/blog-title
Как когда он не работает (страница загружается нормально, но URL-адрес не изменяется)! Я создал правило перезаписи через http://www.generateit.net/mod-rewrite/index.php, так что все должно быть в порядке.
Самое странное в том, что при попытке других правил, как сокрытие расширения PHP работает нормально, так что правила .htaccess, по-видимому работают.
## hide .php extension
# To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule^%1 [R=302,L]
# To internally forward /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/?$ $1.php [L]
Кто-нибудь догадывается?
Что вы имеете в виду под фразой «не работает»? Какая у вас ошибка? Что произошло в apache error.log? –
btw, http://htaccess.madewithlove.be/ - хорошее место для тестирования .htaccess –
спасибо за отзыв! @ hjpotter92 ответ работал для меня – czmarc