0

あなたが見れば

http://ecocool.zadesigns.com

helpリンクをクリックすると、

http://ecocool.zadesigns.com/help

これは機能しますが、物理的に「http://ecocool.zadesigns.com/help.html」と入力すると

それは動作しません。

入力した場合に htaccess ファイルを変更するにはどうすればよいですか

http://ecocool.zadesigns.com/help.html

アドレス バーに.htmlURL から を削除し、index.php ファイルをロードして、正しいページに移動します。

htaccessファイルはこちら。

 <ifModule mod_rewrite.c>
     Options +FollowSymLinks
     RewriteEngine on
     RewriteCond %{REQUEST_FILENAME} !-f
     RewriteCond %{REQUEST_FILENAME} !-d
     RewriteCond %{REQUEST_URI} !index
     RewriteRule ^(.*)$ index.php?q=$1 [NC,L,QSA]
 </ifModule>
4

2 に答える 2

2

MODX Revolution を使用している場合は、[システム] > [コンテンツ タイプ] に移動し、HTML コンテンツ タイプの .html 拡張子を削除します。

サイト キャッシュをクリアすると、Wayfinder または MODX リンク タグ ( [[~ ]]) を使用して作成されたリンクに .html 拡張子が含まれなくなります。

http://ecocool.zadesigns.com/wtfを使用してそのページにアクセスできます。

于 2013-08-28T03:25:09.323 に答える
0

最初のルールはhtmlto ディレクトリ スタイルからリダイレクトします。ファイルが存在するかどうかを確認したくないため、条件は使用しません。

2 番目のルールは、ディレクトリのような形式を index.php にリダイレクトします。ただし、それが index.php である場合は、何もしません。

したがって、基本的にリンクをクリックすると:

http://ecocool.zadesigns.com/anything.html

ユーザーにはリンクが次のように表示されます。

http://ecocool.zadesigns.com/anything/

そして、index.php?q=anything結果を内部的に表示します。

Options +FollowSymLinks -MultiViews

RewriteEngine On
RewriteBase /

RewriteRule ^(.*)\.html$ /$1/ [R=301,NC,L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !index\.php
RewriteRule ^([^/]+)/?$ /index.php?q=$1 [L,QSA]

URL に を表示してもかまわず、その場所で.htmlを提供したいだけの場合は、次を使用します。index.php

Options +FollowSymLinks -MultiViews

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_URI} .*\.html$
RewriteRule ^(.*)\.html$ /index.php?q=$1 [L,QSA]

したがって、基本的にリンクをクリックすると:

http://ecocool.zadesigns.com/anything.html

内部的にindex.php?q=anything結果が表示され、URL は残ります。

http://ecocool.zadesigns.com/anything.html
于 2013-08-28T02:09:33.167 に答える