Htaccess чистый URL-код не работает, как я хочу - PullRequest
0 голосов
/ 27 июня 2011

Итак, вот как выглядит мой чистый URL-код htaccess:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond  %{QUERY_STRING} !^myvar=0
RewriteCond %{REQUEST_URI} !\..*$
RewriteRule ^([^/]*)/?$ /$1.php?myvar=0 [QSA,L]

Этот код htaccess позволяет файлам в корневом каталоге работать с .php, конечной косой чертой или чем-то еще.Итак, blah.com/blah.php работает blah.com/blah работает blah.com/blah/ работает

Однако, если в моем корне есть папка, скажите имя «новости», файл «новости»на корне не может взять чистый URL.Таким образом, blah.com/news.php работает, но blah.com/news и blah.com/news/ не работают.

По некоторым причинам файлы в папке должны иметь расширение (.php)., поэтому blah.com/news/obama.php работает blah.com/news/obama и blah.com/news/obama/ оба не работают.

Что не так с кодом .htaccess и как я могуисправить это?

tl; dr. Есть ли код htaccess, который может сделать так, чтобы .php работал, конечный слеш работал, а конечный слэш не работал?Я абсолютно ничего не знаю о htaccess.

Также: я вчера отправил этот же вопрос, но не получил ответа.Не уверен почему.Если что-то сбивает с толку, я постараюсь прояснить это.Спасибо!

1 Ответ

0 голосов
/ 27 июня 2011

Может быть

RewriteBase /
RewriteRule ^(.*)(?=\.php/?)?$ /$1.php?myvar=0 [QSA,L]

может помочь.В этом случае ваши лог-файлы действительно золотые.

...