Требуется перезапись HTAccess - PullRequest
1 голос
/ 22 августа 2010

Мне нужно переписать любой URL в моем домене, который начинается с ** / club / *** anyPage *, на /page/club/anyPage.

Для этого, я думаю, я могу использовать следующую команду:

RewriteRule ^club/([^/]*)$ /page/club/$1 [NC]

Также, если физическая страница не существует, я хочу ее условно переписать так:

/ club / $ 1 до / page / club / club.php? Title = $ 1

Так что в этом случае, если пользователь входит в mysite.com/club/New_Club, он должен просматривать /page/club/club.php?title=New_Club

.

1 Ответ

1 голос
/ 22 августа 2010

Ваши исходные правила, кажется, работают нормально для своей работы, но для включения второго требования, что-то вроде этого должно делать эту работу ...

# do first rule if not file/directory
RewriteCond %{REQUEST_URI} !-f
RewriteCond %{REQUEST_URI} !-d
RewriteRule ^club/([^/]*)$ /page/club/club.php?title=$1 [NC]
# do second rule if not file/directory
RewriteCond %{REQUEST_URI} !-f
RewriteCond %{REQUEST_URI} !-d
RewriteRule ^club/([^/]*)$ /page/club/$1 [NC]

или в зависимости от других правил ...

# prevent requests for real files / directories from rewritting at all
RewriteCond %{REQUEST_URI} -f
RewriteCond %{REQUEST_URI} -d
RewriteRule .* - [L]

RewriteRule ^club/([^/]*)$ /page/club/$1 [NC]
RewriteRule ^club/([^/]*)$ /page/club/club.php?title=$1 [NC]
...