你可以嘗試檢查這些配置指令:
RewriteCond %{REQUEST_URI} !^/log/(.+)\.$
RewriteRule ^log/(.+)$ /script.php?u=$1 [QSA]
RewriteCond %{REQUEST_URI} ^/log/(.+)\.$
RewriteRule ^log/(.+)$ /script.php?u=$1. [QSA]
OR:
RewriteCond %{REQUEST_URI} ^/log/(.+)([a-zA-Z0-9_-]{1})$
RewriteRule ^log/(.+)$ /script.php?u=$1 [QSA]
RewriteCond %{REQUEST_URI} ^/log/(.+)\.$
RewriteRule ^log/(.+)$ /script.php?u=$1. [QSA]
我希望,我沒有記錯。現在,作爲用戶名與一個字符變量或一個帶尾隨字符的字符在第二個代碼中不起作用,我們可以嘗試用這個字符替換第二個代碼:
RewriteCond %{REQUEST_URI} ^/log/(.*)([a-zA-Z0-9_-]{1})$
RewriteRule ^log/(.+)$ /script.php?u=$1 [QSA]
RewriteCond %{REQUEST_URI} ^/log/(.*)\.$
RewriteRule ^log/(.*)$ /script.php?u=$1. [QSA]
或者你可以嘗試這三個襯墊指令,如果你不喜歡的四個襯墊:
RewriteCond %{REQUEST_URI} ^/log/(.*)\.$
RewriteRule ^log/(.*)$ /script.php?u=$1. [QSA]
RewriteRule ^log/(.*)([a-zA-Z0-9_-]{1})$ /script.php?u=$1$2 [QSA]
我希望,所有這些代碼上面會努力!
你是什麼意思檢查你的問題的拼寫。 – ncm 2013-05-05 09:57:45
你可以嘗試一個明確的尾點像'^ log /(.+)\.$'這樣的規則嗎?它可能是刪除尾點的Apache Web服務器。 – Gumbo 2013-05-05 09:58:34
不,它不是Apache,如果我輸入http://example.com/script.php?u=firstname-L。它工作正常。如果我在重定向頁面上打印$ _GET,那麼當我在http://example.com/script.php?u=firstname-L上這樣做時,尾部時間段會丟失。它在那裏 – 2013-05-05 10:35:03