0

.htaccess を使用して、URL からファイル名を完全に隠す方法を知りたいと思っていました。

現在、次のようになっています: mysite.com/foldername/filename

そして、次のようにしたいと思います: mysite.com/foldername

現時点では、url からファイル拡張子のみを削除するために .htacces ファイルを使用しており、フォルダー名のみを表示するようにアップグレードしたいと考えています。.htacces についてはまだ何もリーダーになっていないので、かなり直接的なコードとヒントをいただければ幸いです。:)

RewriteOptions inherit
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.html -f 
RewriteRule ^(.*)$ $1.html

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.htm -f 
RewriteRule ^(.*)$ $1.htm

RewriteCond %{HTTP_HOST} ^.*$
RewriteRule ^/?$ "http\:\/\/tjmediaproductions\.com\/quiz\/" [R=301,L]
4

1 に答える 1

5
RewriteOptions inherit
RewriteEngine On  # enables url rewriting

RewriteCond %{REQUEST_FILENAME} !-d  # if requested uri is not directory (!-d)
RewriteCond %{REQUEST_FILENAME}\.php -f # and if there is a file named URI+'.php' (-f)
RewriteRule ^(.*)$ $1.php # then if there is any thing in uri then rewrite it as uri+'.php'

他は同じ
で、最後の部分についてはわかりません。

<br />
<br />


あなたが言っ たように、別のポイントと質問 があります。
現在、mysite.com/foldername/filename
のようになっています。mysite.com/foldername のようにしたいと思い
ます。その背後にある規則の種類を教えてください。
これが欲しいですか

    mysite.com/something

の代わりに

    mysite.com/something/something.php

または使用

    mysite.com/something

の代わりに

    mysite.com/something/anotherthing.php

最初の方法を使用する場合。
あなたはこれを使うことができます

    RewriteCond %{REQUEST_FILENAME} -d # 要求された uri がディレクトリの場合 (-d)
    RewriteCond %{REQUEST_FILENAME}\.php !-f # ファイルがない場合 (!-f)
    RewriteRule ^([A-Za-z0-9-]+)/?$ $1/$1.php [NC,L] # フォルダ名/フォルダ名.php

または多分これ

    RewriteCond %{REQUEST_FILENAME} !-d # 要求された uri がディレクトリでない場合 (!-d)
    RewriteRule ^([A-Za-z0-9-]+)/?$ $1/$1.php [NC,L] # フォルダ名/フォルダ名.php

于 2013-03-30T18:54:33.667 に答える