У меня есть сайт в подпапке http://www.example.com/folder
в .htaccess
, у меня есть следующие правила перезаписи
RewriteEngine On
RewriteBase /folder/
RewriteRule ^imprint$ imprint.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule "^([a-zA-Z0-9]*)$" "index.php?code=$1" [L]
в folder
, у меня всего 2файлы index.php
и imprint.php
и, конечно, .htaccess
Если я сделаю запрос: http://www.example.com/folder/test,, я перенаправлен на http://www.example.com/folder/index.php?code=test.это хорошо работает.
Если я запрашиваю: http://www.example.com/folder/imprint, я получаю ошибку 404
Интересно, если я переименую imprint.php
в imprint_.php
и изменим соответствующее правило наRewriteRule ^imprint$ imprint_.php
Также работает противоположное: измените соответствующее правило на RewriteRule ^imprint_$ imprint.php
и запросите http://www.example.com/folder/imprint_
Наконец, если у меня есть файл с именем imprint_.php
и соответствующийПравило RewriteRule ^imprint_$ imprint.php
и запрос http://www.example.com/folder/imprint_, это не не работает ни
Мой файл apache conf:
<VirtualHost *:80>
ServerAdmin webmaster@example.com
DocumentRoot /var/www/example.com/
ServerName www.example.com
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/example.com/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
Что здесь не так?