Отказ от ответственности: Да, я много искал. Да, я читал форумы. Да, я пробовал решить это сам в течение 30 минут, и его просто не работает, поэтому я ищу помощь, пожалуйста.Htaccess не работает
Простое правило перезаписи htaccess. Это то, что я использую для правила:
RewriteRule ^downloads/([0-9])/$ /downloads?ID=$1 [NC,L]
По существу я ищу что
www.url.com/downloads/1
запускает запрос /downloads?ID=1
По какой-то причине я постоянно просто получаю ошибку «ничего не найдено» на моем сайте. Запуск сайта wordpress. Остальная часть htaccess находится ниже
# Use PHP5 Single php.ini as default
AddHandler application/x-httpd-php5s .php
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
redirect 301 "/report2012/trends_2012/" "/2012-swanepoel-trends-report"
redirect 301 "/report2011/trends_2011/" "/2011-swanepoel-trends-report"
redirect 301 "/report2010/trends_2010/" "/swanepoel-trends-report"
redirect 301 "/report2009/trends_2009/" "/swanepoel-trends-report"
redirect 301 "/social_media/" "/social-media-report"
redirect 301 "/speaking-engagements/" "/trends-keynote"
RewriteRule ^item/([0-9])/$ /downloads?ID=$1 [NC,L]
Пожалуйста, помогите - я не уверен, почему он не работает. Спасибо.
30 минут не так долго :), но он не работает с последней строкой до 'RewriteRule. /index.php [L] ', потому что он имеет флаг' last'. Вы должны поместить свое правило _before_ правила wordpress – giorgio
После перенаправления на '/ downloads? ID = 1',' .htaccess' будет загружен снова и попытается сопоставить новый URL. Он будет соответствовать «RewriteRule». /index.php [L] ', и вам нужно остановить его, изменив значение« RewriteRule^index \ .php $ - [L] »на« RewriteRule^(index \ .php | downloads) $ - [L] '. @giorgio также правильно относится к проблеме приоритета. –