2014-09-29 2 views
1

У меня есть переписан условие я использую его, чтобы захватить пробкового URL и искать сообщения в блоге, как это:добавить косую черту тихоход URL-адрес

http://localhost:8080/blog/my-first-post 

Так что я схватить пулю, а затем посмотреть на этот пост и отобразить его. Сейчас она принимает эти две формы

http://localhost:8080/blog/my-first-post 
http://localhost:8080/blog/my-first-post/ 

Как я должен изменить .htaccess, так что всегда добавляет или перенаправляет с косой чертой в конце.

И как мне его изменить, чтобы всегда удалять косую черту?

Вот .htaccess у меня сейчас, которые я его в директории блога:

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-l 
    RewriteRule ^(.*)$ index.php?url=$1 [QSA,L] 
</IfModule> 

ответ

1

Вы можете заменить текущий код HTAccess этим одним

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteBase /blog/ 

    # add trailing slash 
    RewriteCond %{REQUEST_URI} !/$ 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule ^(.*)$ $1/ [R=301,L] 

    # remove trailing slash 
    #RewriteCond %{REQUEST_FILENAME} !-d 
    #RewriteRule ^(.+?)/$ $1 [R=301,L] 

    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule ^(.*)$ index.php?url=$1 [QSA,L] 
</IfModule> 

Прямо сейчас, это добавляет конечная косая черта. Если вы хотите, чтобы удалить его, комментарийadd trailing slash блок линии и раскоментируйтеremove trailing slash блок линии

+0

Спасибо, но он берет меня каталог вверх от HTTP: // локальный: 8080/блог/мой-первый пост в http: // localhost: 8080/my-first-post/ Возможно, я не был конкретным. Также вы могли бы дать мне краткое объяснение или связать меня со мной, когда я могу начать об этом узнавать? Благодаря! –

+0

Прошу прощения, я полностью пропустил ваш htaccess в папке 'blog'. Вы можете попробовать отредактированный ответ. Вам придется очистить кеш браузера, прежде чем повторять попытку, потому что старое правило (без 'blog') теперь находится в кеше. Если вы хотите узнать «mod_rewrite», лучше проверить официальный документ Apache здесь http://httpd.apache.org/docs/current/en/mod/mod_rewrite.html –

+0

почти там! : D Теперь он перенаправляет меня на http: // localhost: 8080/blog/index.php /? Url = my-first-post/'У меня есть .htaccess в каталоге блога Я планирую иметь блог в подкаталог на странице, вот почему. –

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