2010-01-11 3 views
0

Это мой URLHtaccess URL RewriteRule

http://mydomain.com/Anonymous/47/comments.php

Мой файл хостинг сценарий содержит много переписывает, так как я могу перенаправить этот конкретный тип URL в comments.php, не конфликтуя с другими переписывает.

Мой файл .htaccess

Options +FollowSymLinks 

RewriteEngine on 
##point to installation directory 
##if it is the root dir,enter/
##else /otherdir 
RewriteBase/

RewriteCond %{QUERY_STRING} ^d=([a-zA-Z0-9]{8,12})$ 
RewriteRule ^$ download.php?id=%1&type=1 [L] 

RewriteCond %{QUERY_STRING} ^d=([a-zA-Z0-9]{12})$ 
RewriteRule ^$ delete.php?id=%1 [L] 

RewriteRule ^file/([0-9]+)/(.*)$ download.php?id=$1&name=$2&type=2 [L] 
RewriteRule ^([a-z]{2})/file/([0-9]+)/(.*)$ download.php?setlang=$1&id=$2&name=$3&type=2 [L] 
RewriteRule ^myfolders/([0-9]+)-(.*)$ folders.php?fid=$1&name=$3&%{QUERY_STRING} [L] 
RewriteRule ^([a-z]{2})/myfolders/([0-9]+)-(.*)$ folders.php?setlang=$1&fid=$2&name=$3&%{QUERY_STRING} [L] 

RewriteRule ^topfiles/index([0-9]*)\.html$ top.php?s=$1&type=1 [L] 
RewriteRule ^([a-z]{2})/topfiles/index([0-9]*)\.html$ top.php?setlang=$1&s=$2&type=1 [L] 

RewriteRule ^([a-z]{2})$ ?setlang=$1 [QSA,L] 
RewriteRule ^([a-z]{2})/$ ?setlang=$1 [QSA,L] 
RewriteRule ^([a-z]{2})/(.*)\.php$ $2.php?setlang=$1 [QSA,L] 

RewriteRule ^content/([0-9a-zA-Z]+)\.html$ page_template.php?page=$1 [QSA,L] 

<IfModule mod_security.c> 
    # Turn off mod_security filtering. 
    SecFilterEngine Off 

    # The below probably isn't needed, 
    # but better safe than sorry. 
    SecFilterScanPOST Off 
</IfModule> 

<FilesMatch "\captcha.php$"> 
    Header set Cache-Control "max-age=1" 
</FilesMatch> 

ответ

1

Поставив его на последнем месте. Чтобы обработать правило независимо от того, поставьте его в первую очередь и добавьте флаг [L]. Правила перезаписи обрабатываются в том порядке, в котором они отображаются. Обратите внимание, что если вы сделаете это в среде .htaccess, чтобы правила перезаписывания были снова запущены после успешной перезаписи без реальной цели, вы должны добавить что-то вроде этого:

RewriteRule ^comments\.php - [L] 
RewriteRule ^.*/[0-9]+/comments\.php comments.php [L,QSA] 
0

Попробуйте это правило:

RewriteRule ^Anonymous/[0-9]+/comments\.php$ comments.php [L]