RewriteRule не работает, когда включены расширения файлов - PullRequest
0 голосов
/ 13 декабря 2010

Эй, я пытаюсь использовать mod_rewrite, чтобы http://example.com/style/universal.css показывал страницу http://example.com/style.php?n=universal

В настоящее время я использую следующее RewriteRule:

RewriteRule ^style/([^/\.]+)\.css$ style.php?n=$1

Но, похоже, это не работает, по какой-то причине вместо этого отображается 404 Not Found, который даже не является правильной страницей 404.

Я пытался сделать это без расширения .css (т.е. http://example.com/style/universal) с помощью RewriteRule

RewriteRule ^style/([^/\.]+)$ style.php?n=$1

Что работает, но я бы предпочел, чтобы оно работало с расширением .css.

Кажется, что-то с сервером, игнорирующим RewriteRule, если используется расширение файла. Есть ли RewriteCond или что-то очевидное, чего мне не хватает?

Я должен также упомянуть, что в родительском каталоге есть .htaccess, который устанавливается WordPress, содержимое этого:

RewriteEngine on

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L]
</IfModule>

# END WordPress

Любая помощь будет принята с благодарностью.

Заранее спасибо, Брэд.

1 Ответ

0 голосов
/ 13 декабря 2010

Настройте ваш mod_rewrite для регистрации всех шагов, которые он выполняет, обрабатывая ваш URL

RewriteLog "/tmp/mysite_rewrite.log"
RewriteLogLevel 6

, читая журналы, вы сможете понять, как ваш URL переписан и в чем проблема.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...