.htaccess无法使用ip / ~username

时间:2014-04-06 09:18:31

标签: apache .htaccess mod-rewrite url-rewriting

这是我的情况。我尝试使用.htaccess重写网址,但无论我如何尝试,浏览器始终显示500错误或404错误。

这是我的代码。

RewriteEngine On
RewriteBase /~torinots/beta/
RewriteCond %{REQUEST_FILENAME} !^(/beta/home)
RewriteRule ^home$ index.php [L]

示例路径:http://xx.xx.xx.xx/~username/beta/

请咨询。

更新

我找到了这个工作!

  

RewriteEngine On   RewriteBase / ~torinots
  RewriteRule ^ beta / home /?$ beta / index.php [L,NC]

1 个答案:

答案 0 :(得分:0)

我假设您在/ ~username / beta中有.htaccess文件,因为您使用的路径相对于上面示例中的路径。如果.htaccess文件中没有其他规则在干扰上,那么像下面的规则这样的简单规则将在内部正确地重写url。

RewriteRule ^home$ index.php [L]

如果您还想将请求重定向到index.php,则需要防止发生无限循环。您可以使用END标志(版本2.3.9及更高版本)或THE_REQUEST技巧。

#internal rewrite, and then stop everything
RewriteRule ^home$ index.php [END]

#Rewritebase is possibly needed for the redirect
RewriteBase /~torinots/beta/

#external redirect
RewriteRule ^index\.php$ home [R=301,L]

或:

#internal rewrite, and then stop everything
RewriteRule ^home$ index.php [L]

#Rewritebase is possibly needed for the redirect
RewriteBase /~torinots/beta/

#external redirect
RewriteCond %{THE_REQUEST} index\.php
RewriteRule ^index\.php$ home [R=301,L]