仅通过.htaccess重定向根,并使用其他规则

时间:2009-08-31 20:34:53

标签: apache .htaccess mod-rewrite redirect

我安装了YOURLS,将生成的地址重定向到其他域,但根目录不重定向。如何设置与现有规则配合的规则来实现此目的?这是.htaccess文件:

# BEGIN ShortURL
RewriteEngine On
#RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([0-9A-Za-z]+)/?$ yourls-go.php?id=$1 [L]
# END ShortURL

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization},L]
</IfModule>

我对这些方法有基本的了解,但我不知道单独的规则如何相互影响。在此先感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

如果用+量词(零次或多次重复)替换第一个规则的*量词(一次或多次重复),则可能就足够了。

答案 1 :(得分:0)

试试这个:

# BEGIN ShortURL
RewriteEngine On
#RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([0-9A-Za-z]+)/?$ yourls-go.php?id=$1 [L]

RewriteCond %{REQUEST_URI} ^/$
RewriteRule ^([0-9A-Za-z]*)/?$ yourls-go.php?id=$1 [L]
# END ShortURL

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization},L]
</IfModule>