.htaccessファイルに入れるスクリプトがたくさんあり、私が望むやり方で正確に作業したことをメモしました。.htaccess URLから.php拡張子を削除しない
たとえば、私のhtdocsフォルダにtest.phpという名前のファイルがあり、localhost/test.phpに行った場合、ファイルをブラウザのlocalhost/testとして書きたいと思っています。
これを行う2つの.htaccessファイルが見つかりました。下に示しましたが、フォームを使用してデータをMYSQLデータベースに挿入しようとすると、常に空白のフィールドが表示されます。
これは、これは私がに行ってきました昨日、その後時間と時間を探した後、私は、まさに魔法のように働いていたいくつかのスクリプトを見つけ秒1
# Turn on the rewrite engine
RewriteEngine on
# If the request doesn't end in .php (Case insensitive) continue processing rules
RewriteCond %{REQUEST_URI} !\.php$ [NC]
# If the request doesn't end in a slash continue processing the rules
RewriteCond %{REQUEST_URI} [^/]$
# Rewrite the request with a .php extension. L means this is the 'Last' rule
RewriteRule ^(.*)$ $1.php [L]
ある
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase/
## hide .php extension
# To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule^%1 [R,L,NC]
## To internally redirect /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule^%{REQUEST_URI}.php [L]
最初の1
ですシャワーが戻って来て、彼らは働いていなかった。 (私は古い.htaccessファイルを削除し、新しいファイルを作成し、mysqlとapacheを再起動し、ブラウザのデータを消去しました.htaccessはまだ動作しませんでした)、シャワーを浴びる前に、は、これらの2は今、彼らは場合にのみ機能(ノー私は同時に、.htaccessファイルでそれらの両方を入れていない)ので、
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
#RewriteRule ^([^\.]+)$ $1.html [NC,L]
RewriteRule ^([^\.]+)$ $1.php [NC,L]
秒1
# Options is required by Many Hosting
Options +MultiViews
RewriteEngine on
# For .php & .html URL's:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
RewriteRule ^([^\.]+)$ $1.html [NC,L]
を前に働いていたI手動でURLから.phpを削除しますが、そのようにするのは嫌いです。あるいは、phpドキュメントのすべてのリンクを.php拡張子から手動で変更したくないので、どちらか一方を使いたいと思っています。フォームを使用してMYSQLにデータを挿入すると、実際にデータが表示され、フィールドはb渇望
localhost/test.phpが末尾にスラッシュを追加したので、localhost/test /となりましたが、これはもう一度動作しませんでしたが、 MYSQLデータベースには、フィールドも空白です。
# Apache Rewrite Rules
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteBase/
# Add trailing slash to url
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/|#(.*))$
RewriteRule ^(.*)$ $1/ [R=301,L]
# Remove .php-extension from url
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^([^\.]+)/$ $1.php
# End of Apache Rewrite Rules
私は、私が発見し、彼らはになっていたが、今、彼らは働いていない正確にどのように働いていたもののノートを作っ言ったように、誰もがなぜ知っているのですか?または私が欲しいものを正確に達成するためにそれらを微調整する方法?私は文字通り、修正を探していた過去の日を過ごしました。 Btw私はWindows 7上でXAMPPを使用しています
TLDRですが、あなたは 'RewriteRule'sのための' QSA'フラグを探しているように点灯して聞こえます。 – arkascha