2012-02-29 4 views
0

как добавить/в конце, используя следующий код после удаления расширения HTML:как добавить слэша после удаления HTML расширения

Options +FollowSymLinks -MultiViews 
DirectorySlash off 

RewriteEngine On 
RewriteCond %{SCRIPT_FILENAME}/ -d 
RewriteCond %{SCRIPT_FILENAME}.html !-f 
RewriteRule [^/]$ %{REQUEST_URI}/ [R=301,L] 

RewriteCond %{ENV:REDIRECT_STATUS} ^$ 
RewriteRule ^(.+)\.html$ /$1 [R=301,L] 

RewriteCond %{SCRIPT_FILENAME}.html -f 
RewriteRule [^/]$ %{REQUEST_URI}.html [QSA,L] 
+0

я не могу вам помочь, но вы должны быть более конкретными: вы должен сказать, что у вас проблемы с apache и mod rewrite (это просто догадка, но вы должны были сказать это на первом месте), а также добавить правильные теги (что-то вроде html, apache, mod-rewrite, расширение файла должно делать) помочь людям помочь вам ... просто совет –

+0

Спасибо за ответ abov e code изменяет следующий url http://www.example.co.uk/page.html на http://www.example.co.uk/page, что мне нужно/в конце после страницы, чтобы получить http://www.example.co.uk/page/ –

+1

Пожалуйста, отметьте свой вопрос соответствующим образом; «html» и т. д., поэтому другие, совершенно не имеют отношения к вашему вопросу. –

ответ

0

Вам нужно будет внести некоторые изменения.

Options +FollowSymLinks -MultiViews 

RewriteEngine On  
RewriteBase/

#Code to add forward slash 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_URI} !(?:\.\w+|/)$ 
RewriteRule (.*) $1/ [R,L] 

#To check whether a .html appended string is a file existing on the system 
RewriteCond %{DOCUMENT_ROOT}/$1.html -f 
RewriteRule (.*)/ $1.html [L] 

#### NOT REQUIRED 
#RewriteCond %{SCRIPT_FILENAME}/ -d 
#RewriteCond %{SCRIPT_FILENAME}.html !-f 
#RewriteRule [^/]$ %{REQUEST_URI}/ [R,L] 

RewriteCond %{ENV:REDIRECT_STATUS} ^$ 
RewriteRule ^(.+)\.html$ /$1 [R,L] 

Кроме того, эти правила не будут работать по желанию:

RewriteCond %{SCRIPT_FILENAME}.html -f 
RewriteRule [^/]+/$ %{REQUEST_URI}.html [QSA,L] 

потому, %{REQUEST_URI} всегда будет иметь / в конце. Если URI, как domain.com/about запрашивается,

Он будет переписан:

domain.com/about/ 

и, наконец, к

domain.com/about/.html 
Смежные вопросы