2015-04-04 2 views
0

Моя структура папок:маршрутизации PHP с помощью .htaccess

--root 
-----includes 
-----content.php 
-----index.php 
-----sitemap.php 
-----rss.php 

я хочу с помощью файла .htaccess для маршрутизации моего веб-приложения выглядеть следующим образом:

http://mysite.domain/ => index.php 
http://mysite.domain/any-slug/ => content.php 
http://mysite.domain/sitemap.xml => sitemap.php 
http://mysite.domain/any-slug.rss => rss.php 

Это мой файл .htaccess:

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-l 

RewriteRule ^sitemap.xml$ sitemap.php 
RewriteRule ^(.+).rss$ rss.php?slug=$1 
RewriteRule ^(.+)$ content.php?slug=$1 [QSA,L] 

Но, он не работает. Кто-нибудь может мне помочь?

+0

Что он делает неправильно? – jmarkmurphy

+0

Все запросы были возвращены index.php или content.php – taratula

ответ

0

Я не знаю, решила ли вы проблему, но файл .htaccess перенаправляет все запросы index.php. Оттуда вам нужно использовать маршрутизатор, чтобы показывать разные страницы в зависимости от отправленного URL.

Например:

  1. Пользователь посещает локальный/дома/индекс/привет.
  2. Это перенаправляется на index.php.
  3. index.php использует $ _SERVER ['REQUEST_URI'] для извлечения/home/index/hello взорвать его и потребовать на правильной странице.
Смежные вопросы