回答編集履歴

2 ミスがあったため修正。

kei344

kei344 score 66013

2016/07/02 15:35  投稿

WordPressでも末尾のスラッシュを削除することができると思います。
私ならこの方向でやるかなと言う感じです。使用しているテーマのfunction.php末尾にでも追加します。
```PHP
// 出力側のURL
function permalink_untrailingslashit( $link, $post ) {
function my_permalink_untrailingslashit( $link, $post ) {
   if ( 'page_name' === $post->post_name ) { // 例:スラッグが「post_name」のとき
       return untrailingslashit( $link );
   } else {
       return $link;
   }
}
add_filter( 'page_link', 'permalink_untrailingslashit' ); // ページ
// add_filter( 'post_type_link', 'permalink_untrailingslashit' ); // カスタム投稿タイプを含む場合先頭の「//」を外す
add_filter( 'page_link', 'my_permalink_untrailingslashit', 10, 2 ); // ページ
// add_filter( 'post_type_link', 'my_permalink_untrailingslashit', 10, 2 ); // カスタム投稿タイプを含む場合先頭の「//」を外す
/* 参考:
* 【WordPress - Support ≫ Remove trailing slash】
* https://wordpress.org/support/topic/remove-trailing-slash-1
*/
// スラッシュありへの強制リダイレクト
function untrailingslashit_redirect_canonical( $redirect_url, $requested_url ) {
function my_untrailingslashit_redirect_canonical( $redirect_url, $requested_url ) {
   if ( $redirect_url.'/' === $requested_url ) { // さらに厳密にするならスラッグがURLに含まれているかを確認
       return $requested_url;
   } else {
       return $redirect_url;
   }
}
add_filter( 'redirect_canonical', 'untrailingslashit_redirect_canonical', 10, 2 );
add_filter( 'redirect_canonical', 'my_untrailingslashit_redirect_canonical', 10, 2 );
/* 参考:
* 【[WordPress] 末尾にスラッシュを付けられたり取られたり・・・別にいいじゃないか、リクエストのままで! | 制作メモ | 560DESIGNS】
* http://www.560designs.com/memo/1024.html
*/
```
**※ 未テストのため、本番環境で使用する前に、テスト環境を作るなどして確認してください**
1 言葉足らずだったため。

kei344

kei344 score 66013

2016/03/31 18:41  投稿

WordPressでも末尾のスラッシュを削除することができると思います。  
私ならこの方向でやるかなと言う感じです。使用しているテーマのfunction.php末尾にでも追加します。
```PHP
// 出力側のURL
function permalink_untrailingslashit( $link, $post ) {
   if ( 'page_name' === $post->post_name ) { // 例:スラッグが「post_name」のとき
       return untrailingslashit( $link );
   } else {
       return $link;
   }
}
add_filter( 'page_link', 'permalink_untrailingslashit' ); // ページ
// add_filter( 'post_type_link', 'permalink_untrailingslashit' ); // カスタム投稿タイプを含む場合先頭の「//」を外す
/* 参考:
* 【WordPress - Support ≫ Remove trailing slash】
* https://wordpress.org/support/topic/remove-trailing-slash-1
*/
// スラッシュありへの強制リダイレクト
function untrailingslashit_redirect_canonical( $redirect_url, $requested_url ) {
   if ( $redirect_url.'/' === $requested_url ) { // さらに厳密にするならスラッグがURLに含まれているかを確認
       return $requested_url;
   } else {
       return $redirect_url;
   }
}
add_filter( 'redirect_canonical', 'untrailingslashit_redirect_canonical', 10, 2 );
/* 参考:
* 【[WordPress] 末尾にスラッシュを付けられたり取られたり・・・別にいいじゃないか、リクエストのままで! | 制作メモ | 560DESIGNS】
* http://www.560designs.com/memo/1024.html
*/
```
**※ 未テストのため、本番環境で使用する前に、テスト環境を作るなどして確認してください**

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る