#apache #.htaccess #rewrite
#apache #.htaccess #переписать
Вопрос:
Хорошо, я просто пытаюсь настроить простое правило перезаписи для сайта. Во-первых, в httpd.conf у меня есть
LoadModule rewrite_module modules/mod_rewrite.so
Затем в отдельном файле у меня есть эта настройка псевдонима
Alias /vworker/ "f:/vWorker/"
<Directory "f:/vWorker/">
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
Allow from all
</Directory>
Хорошо, теперь каталог сайта
f:/vWorker/urlmask
Там у меня есть файл .htaccess, в котором написано следующее
RewriteEngine on
RewriteRule ^redirect/([0-9] )/?$ index.php?redirect=$1 [L]
Теперь, чего я хочу, так это перейти по URL-адресу http://localhost/vworker/urlmask/redirect/3161513 это действительно вызовет http://localhost/vworker/urlmask/index.php?redirect?3161513
С моей точки зрения, кажется, что все настроено правильно, и если я добавляю тарабарщину в свой файл .htaccess, я получаю ошибку сервера, поэтому я знаю, что он ее читает.
В итоге я получаю страницу с надписью «Не найдено. Запрошенный URL /vworker/urlmask/redirect/94173336828903446 не найден на этом сервере «. Есть идеи, что я делаю не так?
Комментарии:
1. Работает ли это, если вы не используете «^»?
Ответ №1:
В общем, всякий раз, когда у вас есть Alias
, вам понадобится RewriteBase
, чтобы все работало так, как ожидалось.
В вашем случае у вас должно быть
RewriteBase /vworker/urlmask/
в том же .htaccess, что и ваши правила.
Комментарии:
1. Если URL-адрес localhost/vworker/urlmask / … и .htaccess находится в папке urlmask, это должно быть правильным
RewriteBase
. Вы можете добавить что-то вродеRewriteLogLevel 2
, чтобы получить некоторое протоколирование процесса перезаписи (более высокие цифры дают больше информации).2. Оказывается, у меня был файл с именем redirect.sql, поэтому, когда я переименовал его, он сработал.
3. Но теперь у меня возникла проблема с неработающими ресурсами, такими как изображения, css и т. Д. На самом деле он должен искать их в папке перенаправления, есть идеи, как это исправить?
4. Это будет зависеть от того, где находятся ресурсы, как выглядят (или должны выглядеть) их URL-адреса… может быть другой вопрос.
5. Понял это. Хотя спасибо.