/start を /start/index.html にリダイレクトし、他のすべて (/anything) を /index.html にリダイレクトする必要があります。
これに対する正しい正規表現の書き直しは何ですか?
ありがとう
書き換え条件が必要です:
RewriteRule ^start/?$ /start/index.html [R]
RewriteCond %{REQUEST_URI} !^/start/?$
RewriteRule ^([a-zA-Z0-9_-]+)/?$ /index.html [R]
[R]フラグに関するこのリンクを考慮してください: https://stackoverflow.com/a/15999177/2007055
にリダイレクト
/startする必要があり/start/index.html、他のすべて ( /anything )にリダイレクトする必要があります/index.html。これに対する正しい正規表現の書き直しは何ですか?
ルート ディレクトリにある .htaccess ファイルでこれを試すことができます。
Options +FollowSymlinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !index\.html [NC]
RewriteRule ^start/(.*) /start/index.html?$1 [L,NC,QSA]
ルールでanythingは、クエリとして に渡されindex.php、QSA フラグが存在する場合、着信フラグが追加されます。
anythingパス セグメントとして渡すには、QSA フラグを置き換えて削除します?$1。/$1着信クエリは自動的に追加されるため、役に立ちません。
永続的なリダイレクトの場合、[L,NC,QSA] を [R=301,L,NC,QSA] に置き換えます。