2009-09-27 3 views
0

Недавно я портировал свой исходный код на Ubuntu Server из Windows, и у меня было несколько проблем .htaccess mod_rewrite. У меня есть mod_rewrite для Apache. Вот мой текущий .htaccess.htaccess mod_rewrite problems

RewriteEngine On 

RewriteRule ^css/default/?$ css/default.css 
RewriteRule ^user/?$ user.php 
RewriteRule ^user/([A-Za-z0-9_]+)/?$ user.php?username=$1 

Вот несколько примеров проблем, которые у меня возникают. По какой-то причине, я могу получить доступ к

http://localhost/css/default 

без проблем, но когда я

http://localhost/css/default/ 

он не может найти его. Кроме того, при получении доступа к

http://localhost/user/hunter101/ 

, похоже, не регистрирует hunter101 как GET ... любые предложения? Спасибо

ответ

2

Возможны конфликты с MultiViews, так как ваш URL-адрес и файлы имеют очень похожее имя. Попробуйте его отключить:

Options -MultiViews 
+0

это исправлено, спасибо! – axsuul

+0

интересно ... приятно осмотреть Гумбо :) –

0

Вам не нужно избегать косой черты?

RewriteRule ^user\/([A-Za-z0-9_]+)\/?$ user.php?username=$1 

Возможно, я ошибаюсь.

+2

Я уверен, что mod_rewrite не нуждается в передовых косых чертах. –

+0

Кроме того, ради полноты: не следует ли избегать первой косой черты? – Gumbo