RewriteRule для htaccess в корне сайта

Я хочу переписать все URL-адреса в определенный файл (/blog/post.php) в определенных папках (/blog), за исключением пары файлов (конечно, /blog/post.php и корня каталога /blog/index. php или /блог/). Поэтому у меня есть это:

RewriteRule ^blog/index.php - [L]

RewriteRule ^blog/post.php - [L]

RewriteRule ^blog/(.*) /blog/post.php [L,QSA]

Где предполагаемый результат заключается в том, что все URL-адреса, кроме index.php и post.php, переписываются в post.php. Проблема в том, что если я поместил это в .htaccess в корне сайта, когда вы набираете просто website.com/blog/ он перезаписывает на страницу в post.php, тогда как на сайте site.com/blog/index.php нет. Если я помещу тот же код в файл .htaccess в папке блога (но без слова блог в каждой строке), он будет работать так, как ожидалось/хотелось.

Мне очень жаль еще один вопрос RewriteRule, но это конкретный пример/проблема, которую я не смог найти, и я был бы очень признателен, если бы у кого-нибудь были какие-либо советы.


person hobailey    schedule 22.01.2014    source источник


Ответы (1)


Пусть ваше единственное правило будет таким:

RewriteCond %{REQUEST_URI} !/blog/(index|post)\.php$ [NC]
RewriteRule ^blog/(.+)$ /blog/post.php [L]
person anubhava    schedule 22.01.2014