mod_rewrite не работает в виртуальном каталоге
Сервер : Ubuntu 10.4 работает Apache2
У меня есть сервер с mod_rewrite, и он работает на моих виртуальных хостах. Но я разрабатываю новый сайт и хочу увидеть его на сервере, прежде чем изменить серверы имен, чтобы они указывали на сервер. Поэтому в конфигурацию сайта по умолчанию я добавил
Alias /tester/ "/srv/www/tester.org/wwwroot/"
<Directory "/srv/www/tester.org/wwwroot/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
allow from all
DirectoryIndex index.php index.html index.shtml
</Directory>
Я вижу сайт, когда захожу на serverIP/tester/, но со следующим файлом.htaccess я получаю только ошибки "страница не найдена" ни для чего, кроме index.php.
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /tester/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /tester/index.php [L]
</IfModule>
# END WordPress
Я потратил около 2 часов на это, но я даже не могу догадаться, что я делаю здесь неправильно. Похоже, это должно работать. Кто-нибудь чем-нибудь выделяется?
1 ответ
Вы установили:
RewriteBase /tester/
Но тогда вы переписываете по тому же пути:
RewriteRule . /tester/index.php [L]
Итак, вы переписываете запросы /tester//tester/index.php
,
Вместо этого попробуйте это:
RewriteRule . index.php [L]