.htaccess書き換えルール

私は次の効果を得ようとしています:

  1. ユーザーがexample.com/profile/Tomにアクセスし、バックグラウンドでexample.com/profile.php?username=Tomになります
  2. 各URL(.htaccess)の行の後に行を作成する代わりに(図1)、短くしてうまく動作します。ユーザーはexample.com/aboutにアクセスし、about.php、次にexample.com/helloworldを使用し、helloworld.phpを使用します。

今のところ、私が望むURLごとに次のものを入れなければなりません。代わりに、仕事をする.htaccessの2〜3行が必要です。 (可能であれば、もっとうまくいく、私は.htaccessでうまくいかない)

RewriteRule ^login/submit$ login.php?action=submit
3
@BookOfZeus編集されたOP
追加された 著者 Oyed,
それはあなたの.htaccessの唯一のルールですか?図1とは何ですか?
追加された 著者 Book Of Zeus,

1 答え

これを試して私に知らせてください。

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^profile/([^/])/? profile.php?username=$1 [L,NC]

RewriteRule ^login/submit$ login.php?action=submit [L,NC]

# /login/ will go to login.php or /contact/ will go to contact.php
RewriteRule ^([a-z0-9_\-]+)/? $1.php [L,NC]

Here's the full documentation about the [] flags: http://httpd.apache.org/docs/2.3/rewrite/flags.html

3
追加された
うまくいかないようですが、サイトのルートではなく、ディレクトリで作業していることを忘れてしまいました。編集:RewriteBaseを取り除くと、それを修正しました、ありがとう!
追加された 著者 Oyed,
これで問題が見つかりました。action = "login/submit"のフォームを使用すると、フォームを複数回使用すると動作が停止します。例えば。一度フォームを使用すればうまく動作します。もう一度submitを押すと、/ login/login/submitが実行され、もう一度押すと/ login/login/login/submitが試されます。
追加された 著者 Oyed,
前述のように、私はスクリプトの中でサブフォルダを使い、ログインする前に/を追加するとメインディレクトリに戻ります。
追加された 著者 Oyed,
問題ありません、ありがとう
追加された 著者 Book Of Zeus,
アクションでこれを使用しようとしますか? action = "/ login/submit" ?あなたはおそらく action = "login/submit" を使用しています。ブラウザはログインをフォルダと考えるので、毎回 login を追加するだけです。これが機能しない場合、コードを投稿できますか?
追加された 著者 Book Of Zeus,
いくつかの例を教えていただけますか?
追加された 著者 Book Of Zeus,
PHP - 日本のコミュニティ [ja]
PHP - 日本のコミュニティ [ja]
4 参加者の

このグループではPHPについて話します。 パートナー:kotaeta.com

Vue.js - 日本のコミュニティ [ja]
Vue.js - 日本のコミュニティ [ja]
3 参加者の

このグループではVue.jsについて話します。 パートナー:kotaeta.com

Angular - 日本のコミュニティ [ja]
Angular - 日本のコミュニティ [ja]
3 参加者の

このグループではAngularについて話します。 パートナー:kotaeta.com

React.js — 日本のコミュニティ[ja]
React.js — 日本のコミュニティ[ja]
3 参加者の

このグループではReact.jsについて話します。 パートナー:kotaeta.com

JavaScript - 日本のコミュニティ
JavaScript - 日本のコミュニティ
2 参加者の

日本人コミュニティのjavascript