2016-10-04 4 views
1

Я на следующие правилаПерепишите дружественный URL, дифферент паттерны

<filesMatch "^(member)$"> 
    Options +FollowSymlinks 
    RewriteEngine on 

    RewriteRule ^/(.*)/(.*)/(.*)$ /member-profile.php?ID=$2 [L] 
</filesMatch> 

<filesMatch "^(community-events)$"> 
    Options +FollowSymlinks 
    RewriteEngine on 

    RewriteRule ^/(.*)/(.*)/(.*)/(.*)$ /community-events.php?ID=$3 [L] 
</filesMatch> 

переписывания который, очевидно, переписав этот

mydomain.com/comunity-events/category/id/name 

к этому

mydomain.com/comunity-events.php?myvariables 

Теперь, я хочу новый перенаправление, у которого нет стартовой «папки», например,

mydomain.com/business-category/business-name 

в

mydomain.com/business-profile.php?variables 

Это даже возможно, учитывая текущую конфигурацию, без перенаправления для каждого названия категории?

ответ

1

Вам даже не нужны директивы filesMatch, так как вы можете совместить стартовую часть в RewriteRule.

Вы можете заменить .htaccess с этими правилами:

Options +FollowSymlinks -MultiViews 
RewriteEngine On 

# handle /member/... 
RewriteRule ^/?(member)/(.*)/(.*)$ /member-profile.php?ID=$2 [L,QSA,NC] 

# handle /community-events/... 
RewriteRule ^/?(community-events)/(.*)/(.*)/(.*)$ /community-events.php?ID=$3 [L,QSA,NC] 

# handle /business-category/business-name 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^/?(.*)/(.*)$ business-profile.php?name=$2 [L,QSA] 
+1

Работает отлично !!! :) Благодаря! – valiD

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