我正在努力制作一个简单的URL缩短器但是在Mod_Rewrite中有一些问题〜
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^hu/([^/]*)$ /?code=$1 [L,QSA]
RewriteCond %{HTTP_HOST} !^AgeofW\.us$
RewriteRule ^(.*)([^hu/])$ http://%{HTTP_HOST}/hu/$1 [R=301]
URL的构思是“AgeofW.us/hu/”,无论如何都在URL的末尾有一个Trailing / hu /。但是又一次。我m having some Issues with this. I
试了最后一两个小时,我被迫在这里问!有人有想法吗?或者向我解释一下?我会记住它Lolz。
~~这会生成一个无限循环,生成:请求的URL / hu / hu / hu / hu / hu / hu / hu / hu / hu / hu / hu / hu / hu / hu / hu / hu / hu / hu / hu / hu /在此服务器上找不到。 〜一遍又一遍。
我有多次尝试和代码修正,并且尚未推出单一的可行解决方案。
答案 0 :(得分:2)
您可以使用:
RewriteEngine On
RewriteCond %{THE_REQUEST} !/hu/ [NC]
RewriteCond %{HTTP_HOST} AgeofW\.us$ [NC]
RewriteRule !^hu/ /hu%{REQUEST_URI} [L,R=301,NE]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^hu/([^/]*)/?$ /?code=$1 [L,QSA]
[^hu/]
不是正确的正则表达式,以匹配not hu/
。