这是我的情况。我尝试使用.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]
答案 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]