2012-04-27 3 views
1

Я хочу использовать modrewrite, чтобы дать мне чистые URLs как:мод переписывают неприятности

http://www.mydomain.com/about/

быть:.

http://www.mydomain.com/index.php?page=about

И идти три слоя в я написал это, но его не работает вообще:

RewriteRule ^([^/\.]+)/?$ /index.php?page=$1 [L] 
RewriteRule ^([^/\.]+)/([^/\.]+)/?$ /index.php?section=$1&page=$2 [L] 
RewriteRule ^([^/\.]+)/([^/\.]+)/([^/\.]+)/?$ /index.php?section=$1&subsection=$2&page=$3 [L] 

Я тестировал добавление print_r ($ _ GET); и его пустым, когда я иду в

mydomain.com/about/

Edit, получил это работает. Глупо мне, мне не нужно «/» выше до index.php.

Однако теперь он не покажет мне мои css/images. Я добавил это, но он все еще не работает.

RewriteRule \.(css|jpe?g|gif|png)$ - [L] 

Что она делает это добавление параметров URL-адреса на просьбы изображения, как, например:

/page/images/bg.jpg

вместо:

/изображения/Б.Г. .jpg

Любые идеи?

+2

RewriteEngine On? – mario

+0

Yup, переписать двигатель включен. – user1117873

ответ

1

Заменить существующий с этим:

# If the request is for a valid directory 
RewriteCond %{REQUEST_FILENAME} -d [OR] 
# If the request is for a valid file 
RewriteCond %{REQUEST_FILENAME} -f [OR] 
# If the request is for a valid link 
RewriteCond %{REQUEST_FILENAME} -l 
# don't do anything 
RewriteRule^- [L] 

RewriteRule ^([^/]+)/([^/]+)/([^/]+)/?$ index.php?section=$1&subsection=$2&page=$3 [L,QSA] 

RewriteRule ^([^/]+)/([^/]+)/?$ index.php?section=$1&page=$2 [L,QSA] 

RewriteRule ^([^/]+)/?$ index.php?page=$1 [L,QSA] 
+0

Нет кубиков. Я могу получить доступ к root/just fine. Все, что добавлено к нему, дает мне 404 – user1117873

+0

. Попробуйте отредактированную версию. – anubhava

+0

По-прежнему нет. Что она делает это добавление параметров URL-адреса на просьбы изображения, как, например: /page/images/bg.jpg вместо: /images/bg.jpg. Можно видеть для себя в: http://192.168.1.147/bar/ против http://192.168.1.147/bar/foo/ – user1117873

Смежные вопросы