2015-04-08 1 views
1

Я работаю над приложением социальной сети, которое позволит пользователям создавать собственное имя. Я создал фиктивную тестовую учетную запись с именем «изображения», поэтому мой URL-адрес будет www.example.com/images. Проблема, с которой я сталкиваюсь, заключается в том, что когда я иду искать пользователя www.example.com/images, я пересылаюсь в каталог под названием «images /» вместо www.example.com/images/ ... как я могу игнорировать и переадресовываться на страницу URL тщеславия?htaccess Как я могу игнорировать каталог и foward для файла с тем же именем

Благодарим за любую помощь заранее.

Это код Htaccess, что я в настоящее время с помощью

Options +FollowSymLinks 
RewriteEngine On 

#hide htaccess file from view 
<Files .htaccess> 
order allow,deny 
deny from all 
</Files> 

#disable directory listing 
Options -Indexes 

#Vanity URL 
RewriteRule ^([a-zA-Z0-9_]+)$ profile.php?u=$1 

#Force WWW 
RewriteCond %{HTTP_HOST} !^$ 
RewriteCond %{HTTP_HOST} !^www\. [NC] 
RewriteCond %{HTTPS}s ^on(s)| 
RewriteRule^http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 

#errorRedirect 
ErrorDocument 400 http://www.example.com/errors/badrequest.php 
ErrorDocument 403 http://www.example.com/errors/forbid.php 
ErrorDocument 404 http://www.example.com/errors/notfound.php 
ErrorDocument 500 http://www.example.com/errors/server.php 

ответ

1

Это происходит из-за mod_dir добавляя слэш и делать редирект. Вы можете использовать этот код:

#errorRedirect 
ErrorDocument 400 http://www.example.com/errors/badrequest.php 
ErrorDocument 403 http://www.example.com/errors/forbid.php 
ErrorDocument 404 http://www.example.com/errors/notfound.php 
ErrorDocument 500 http://www.example.com/errors/server.php 

# turn directory slash off 
DirectorySlash Off 
#disable directory listing 
Options +FollowSymLinks -Indexes 
RewriteEngine On 

#hide htaccess file from view 
<Files .htaccess> 
order allow,deny 
deny from all 
</Files> 

#Force WWW 
RewriteCond %{HTTP_HOST} !^$ 
RewriteCond %{HTTP_HOST} !^www\. [NC] 
RewriteCond %{HTTPS}s ^on(s)| 
RewriteRule^http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 

#Vanity URL 
RewriteRule ^(\w+)/?$ profile.php?u=$1 [L,QSA] 
+0

спасибо за помощь, но код, который вы предоставили, не работает. код пересылает меня на 403 запрещенную страницу. У вас есть другие предложения, которые могут помочь мне? – Benjamin

+0

Я сделал небольшое обновление моего ответа. Проверьте это ** после очистки кеша браузера ** или в инструменте Chrome dev. – anubhava

+1

Работал как шарм! Спасибо за помощь! – Benjamin

Смежные вопросы