2013-11-02 6 views
1

У меня есть пара переписываемых в моей .htacess. В настоящее время он настроен для указания всех файлов на /core/index.php, что хорошо.RewriteRule добавление дополнительных параметров url, если существует каталог

Я использую svn: внешний для проверки основных файлов и функций в проекте. Теперь проблема возникает, когда у меня есть каталог с тем же именем, что и моя функция, например, я проверяю «свойство» в папку с названием «свойство». Я добавил правило так, что если файл существует, то игнорировать его и использовать то же поведение, что и выше, но когда я пытаюсь /property, он меняет URL на /property /? Url = property , но когда я делаю /property/ остается, как есть то, что я после.

Я почти здесь, но просто не могу понять, как не показать /? Url = свойство, когда url не имеет свойства/after (или того, что когда-либо существует) (/property/) ,

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

#re-write for file that don't exist 
    <IfModule mod_rewrite.c> 
     RewriteEngine On 

     RewriteCond %{REQUEST_FILENAME} !-d 
     RewriteCond %{REQUEST_FILENAME} !-f 
     RewriteCond %{REQUEST_FILENAME} !-l 

     RewriteRule ^(.*)$ /core/index.php?url=$1 [L] 
    </IfModule> 

    #re-write for file that do exist 
    <IfModule mod_rewrite.c> 
     RewriteEngine On 

     RewriteCond %{REQUEST_FILENAME} -d 
     RewriteRule ^(.*)$ /core/index.php?url=$1 [L] 

    </IfModule>   

ответ

0

Попробуйте добавить эту строку на верхней части вашего .htaccess:

DirectorySlash On 

## Adding a trailing slash 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_URI} !/$ 
RewriteRule . %{REQUEST_URI}/ [L,R=301] 

Это всегда будет добавлять слэш, если запрос для каталога, и вы сможете избежать этой проблемы.

+0

Не работает извините. – Dezza

+0

Q1. Это единственный .htaccess, или у вас есть другой? Q2. Это единственный код в этом .htaccess? Если у вас есть другой код, пожалуйста, разместите его под вопросом? Q3. Что такое местоположение выше .htaccess? – anubhava

+0

Нет других файлов .htaccess, и это единственный код. Он расположен в корне. – Dezza

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