2016-09-26 2 views
1

Я хочу сделать правило перезаписи, которое будет работать на двух разных файлах, которые содержатся в одной и той же папке.RewriteRule в том же .htaccess на двух разных файлах

localhost/nameOfUser will be applied to index.php 
localhost/nameOfUser?score=12 or localhost/nameOfUser/12 will be applied to post.php 

Я сумел сделать первый одну работу с

RewriteEngine On 
RewriteRule ^(css|fonts)($|/) - [L] 
RewriteRule ^(php|avatars)($|/) - [L] 
RewriteRule ^(user|post)($|/) - [L] 
RewriteRule ^(.*)$ index.php?user=$1 [NC,QSA] 

если добавить

RewriteRule ^(.*)$ post.php?user=$1 [NC,QSA] 

Второй начинает работать, но первый не делает.

Возможно ли сделать переписывание двух разных файлов в одном файле .htaccess?

ответ

1

Дайте следующие правила попробовать:

RewriteEngine On 
RewriteRule ^(css|fonts|php|avatars|user|post)($|/) - [L] 
RewriteRule ^([^/]+)$ index.php?user=$1 [NC,QSA,L] 
RewriteRule ^([^/]+)/([^/]+)$ post.php?user=$1&score=$2 [NC,QSA,L] 

Однако, если вы хотите nameOfUser?score=12 работать, вам необходимо изменить их:

RewriteEngine On 
RewriteRule ^(css|fonts|php|avatars|user|post)($|/) - [L] 
RewriteCond %{QUERY_STRING} ^$ 
RewriteRule ^([^/]+)$ /index.php?user=$1 [NC,QSA,L] 
RewriteCond %{QUERY_STRING} ^score=(.+)$ 
RewriteRule ^([^/]+) /post.php?user=$1&score=%1 [NC,L] 
+0

на локальном хосте/пользователь/счет Безразлично» t показать css. Просто текст. – Mirakurun

+0

@ Mirakurun Обновите свой HTML-код, чтобы добавить тег '. Он должен появиться в начале вашего тега ''. – hjpotter92

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