18

次の効果を得ようとしています(このローカルファイルを使用http://localhost/[company_name]/[project_name]/.htaccess):

http://localhost/[company_name]/[project_name]/page-1 (adds slash)
http://localhost/[company_name]/[project_name]/page-1/ (does nothing)
http://localhost/[company_name]/[project_name]/page-1/subpage-1 (adds slash)
http://www.example.com/page-1 (adds slash)<br />
http://www.example.com/page-1/ (does nothing)
etc.

私が達成したいのは、この .htaccess がパスを必要としhttp://localhost/[company_name]/[project_name]/ないため、アップロードするたびにこれを編集する必要がなくなることです。

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

ここで上記のコードを見つけました: Add Trailing Slash to URLs、しかし、それは HOST を動的に使用できるようにするだけで、パスを破棄します。誰かがこの効果を達成するための解決策を持っていますか?

4

4 に答える 4

57
RewriteCond %{REQUEST_URI} !(/$|\.) 
RewriteRule (.*) %{REQUEST_URI}/ [R=301,L] 

このコードは、RewriteEngine On の下の .htaccess ファイルの先頭に配置する必要があります。

于 2012-08-09T09:57:57.393 に答える
1

この形式を使用してください.htaccess,

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1/ [L,R=301]
于 2020-02-13T16:52:18.167 に答える