2012-05-31 4 views
2

Я пытаюсь получить запрошенное имя файла без пути с htaccess для RewriteCond. REQUEST_FILENAME возвращает полный абсолютный путь, но мне нужно только имя файла, как test.phphtaccess получить имя файла без пути

Я искал для этого много, но не смогли найти ничего, что помогло мне. Спасибо за любые ответы заранее!

Edit:

Im пытается сделать что-то вроде этого:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond _%{REQUEST_FILENAME}.php -f 
RewriteRule ^([^/]*)$ _$1.php [L] 
  • URL, введенном в браузере выглядит следующим образом: http://example.org/test
  • файл, который будет requestested по RewriteRule: http://example.org/_test.php
  • С RewriteCond _%{REQUEST_FILENAME}.php -f i пытался проверить , если файл существует первого

В основном я хочу, чтобы это сделать:

URI: /теста/л
Проверьте _ test.php существует (с подчеркнуть!)

+0

Взгляните на этот вопрос: http://stackoverflow.com/questions/470880/rewriterule-checking-file-in-rewriten-file-path-exists – Christopher

ответ

6
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{DOCUMENT_ROOT}/_$1.php -f 
RewriteRule ^([^/]+)$ _$1.php [L] 

Я изменил * к +, поэтому запросы, например. example.com/ не перенаправляется на _.php

+1

+1 nice ответ. – anubhava

+0

Большое вам спасибо! +1 и принято – Fabian

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