私の以前の質問はすでにあなたに示しているかもしれないので、私はmodrewriteが得意ではありません。私はこの特定の問題を検索して空にしようとしました。誰かがこれを修正するのを手伝ってくれることを願っています。
短縮URLジェネレーターの一部としてmodrewriteを使用していますが、一意のIDに直接アクセスすると、宛先に転送されます。最後に/vを追加すると、転送先のURLを表示するポータルページが可能になります(プレビューページのように)
/ vはIDの後にあるため、問題なく機能しますが、 $_GETを介して新しいページを追加できるようにします。
これは、ユーザーに提供されるショートカットリンクです。
javascript:void(location.href='http://www.website.com/n/?url='+location.href)
これは.htaccessの内容です
RewriteEngine On
RewriteRule ^n actions.php?do=new [NS,L,NC]
RewriteRule ^([a-zA-Z0-9]+)$ actions.php?id=$1 [NC]
RewriteRule ^([a-zA-Z0-9]+)/([a-zA-Z0-9]+)$ actions.php?id=$1&do=$2 [NC]
問題: IDの代わりに/ nがある ため、明らかに競合します。NSとLは、ルールが一致した後に実行を停止できるため、試してみました。さらに詳しく調べてみると、もちろん、私が望むようには機能しません。
最後に、最終製品でURLがどのように表示されるかを示す例をいくつか示します。
New Submission:
http://www.web.com/n/?url=http://www.google.com [Outputs new URL as 12345]
Visit the ID directly:
http://www.web.com/1A2b34D5 [Forwards to URL Destination]
Visit the ID Preview Link:
http://www.web.com/1A2b34D5/v [Displays preview, Delayed Forwarder]