2015-10-13 4 views
0

У меня есть проблема с моим файлом .htaccess.


Моя проблемаHTACCES index.php Параметры

Когда я войти в мою веб-страницу со следующим URL:

http://www.website.com/sys/module/photos/ 

Я могу добавить на этой странице некоторые фотографии путем следующей ссылке:

http://www.website.com/sys/module/photos/add/10/ 

или

http://www.website.com/sys/module/photos/add/485/ 



Теперь у меня есть пагинацию на файл index.php и я хочу, чтобы войти на страницу, как это:

http://www.website.com/sys/module/photos/ 

И перейти на следующую страницу со следующим URL:

http://www.website.com/sys/module/photos/1/ 



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

RewriteEngine On 
RewriteRule add/(.*)/$ add.php?id=$1 
RewriteRule (.*)/$ index.php?page=$1 



Но если я сейчас перейду к http://www.website.com/sys/module/photos/add/10/, он отобразит содержимое файла index.php.

Как я могу исправить эту проблему?

+0

Я думаю, что это из-за правила 'RewriteRule (. *)/$ Index.php? Страница = $ 1'. '. *' Будет в основном соответствовать 'http: // www.website.com/sys/module/photos/add/10 /' полностью –

ответ

2

Я предполагаю, что ваш файл Htaccess находится в «фотографии» папку, так, то вы правила должны выглядят так:

RewriteEngine On 
RewriteRule ^add/([0-9]+)/?$ add.php?id=$1 [L] 
RewriteRule ^([0-9]+)/?$ index.php?page=$1 [L] 

Вы будете сужать то, что вы согласитесь, ограничиваете группы захвата только номерами.

0

.htaccess, должен выглядеть следующим образом:

RewriteEngine On 
RewriteRule add/(.*)/$ add.php?id=$1 
RewriteRule ^$ index.php 

Как уже упоминалось в комментариях .* будет соответствовать все, включая URL http://www.website.com/sys/module/photos/add/10/.

Решение изменить нижнюю переписывают правило, чтобы соответствовать только на главной странице (если ваш путь /)

+0

Ваше второе правило использует обратную ссылку, но нет группы захвата –

+0

Ах да, у меня есть поскольку удалена ссылка –

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