2014-09-15 2 views
1

Эта линия работаетИспользуйте два правила для HTAccess

RewriteRule ^(.*)/(.*)?$ site/$1/pagina.php?pagina=$2 [L] 

Теперь я пытаюсь сделать при обращении к ссылке /Inicio перейти на страницу index.php.

RewriteRule ^inicio/(.*)?$ site/$1/index.php [L] 

Тем самым

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} !^site/ 

RewriteRule ^inicio/(.*)?$ site/$1/index.php [NC,L] 
RewriteRule ^(.*)/(.*)?$ site/$1/pagina.php?pagina=$2 [L] 

.

.

.

. Текущий код, с помощью друга @anubhava

RewriteEngine on 

RewriteCond %{REQUEST_FILENAME} -f [OR] 
RewriteCond %{REQUEST_FILENAME} -d [OR] 
RewriteCond %{REQUEST_URI} ^/site/ [NC] 
RewriteRule^- [L] 


RewriteRule ^([^/]+)/inicio?$ site/$1/index.php [NC,L,QSA] 
RewriteRule ^([^/]+)/noticia/([^/]+)/?$ site/$1/pagina.php?pagina=pag_noticiasVer.php&id=$2 [L,QSA] 
RewriteRule ^([^/]+)/([^/]+)/?$ site/$1/pagina.php?pagina=$2 [L,QSA] 

ответ

2

Имейте это так:

RewriteEngine on 

RewriteCond %{REQUEST_FILENAME} -f [OR] 
RewriteCond %{REQUEST_FILENAME} -d [OR] 
RewriteCond %{REQUEST_URI} ^/site/ [NC] 
RewriteRule^- [L] 

RewriteRule ^inicio/([^/]+)/?$ site/$1/index.php [NC,L,QSA] 

RewriteRule ^([^/]+)/([^/]+)/?$ site/$1/pagina.php?pagina=$2 [L,QSA] 

RewriteCond применимы только для следующего RewriteRule.

+0

Спасибо, мой друг. – Tiago

+0

Добро пожаловать, рад, что это сработало. – anubhava

+0

Я пытаюсь добавить новое правило на страницу новостей. Если я поставлю **/noticia **, откроется обычная страница, но без ошибок, потому что идентификатор GET. Поэтому идея состоит в том, чтобы поместить идентификатор сообщения после **/noticia/1 **, **/noticia/2 **, **/noticia/3 **. Новое правило: 'RewriteRule^([^ /] +)/noticia/([^ /] +) /? $ Site/$ 1/pagina.php? Pagina = pag_noticiasVer.php & id = $ 2 [L, QSA]' – Tiago

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