2

パーマリンクがオンになっているワードプレスサイトと並行して構築しているアプリケーションに取り組んでいます。したがって、ワードプレスのキャッチオールの側面を処理する他の書き直しがhtaccessの後半にあります。しかし、私はそれがそれらに到達する前に、私自身の書き直しのいくつかを実行しようとしています。-そして私の後に[L]を使用するのは当然です。スラッシュを許可するか、スラッシュを許可しない(そしてそれでも一致させる)オプションを最後に追加しようとするまで、すべてが完璧に機能しています。

このサーバーで500エラーをスローする例を次に示します。

RewriteRule ^app/([^/]+)/?$ /app/$1\.php [L,QSA]

http://<domain>.com/app/login
or
http://<domain>.com/app/login/

ただし、以下は問題なく機能し、htaccessの前の例を上回っています。

RewriteRule ^app/p/([^/]+)/?$ /app/page.php?page_slug=$1 [L,QSA]

http://<domain>.com/app/p/styles
or
http://<domain>.com/app/p/styles/

私はバリエーションを試しましたが、ほとんど/まったく成功しませんでした。

RewriteRule ^app/([^/]+)/{0,1}$ /app/$1\.php [L,QSA]
and
RewriteRule ^app/([^/]+)[p]/[\p]?$ /app/$1\.php [L,QSA]
4

1 に答える 1

2

これは、ターゲットの場所/app/$1.phpがソースの場所と完全に一致しているためです^app/([^/]+)/?$。したがって、ページはそれ自体にリダイレクトされます。

RewriteCond %{REQUEST_URI} !\.php
RewriteRule ^app/([^/]+)/?$ /app/$1.php [L,QSA]
于 2011-01-20T07:36:03.910 に答える