/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] に置き換えます。