.htaccess重定向到错误的页面

时间:2013-04-26 18:55:05

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

这是原始网址

http://localhost/naranjeshaltd/index.php?url=home

我希望将其重定向到

http://localhost/naranjeshaltd/home

我已尝试过此htaccess代码,但它将页面重定向到 http://localhost/xampp

Options +FollowSymLinks
RewriteEngine on

RewriteBase /naranjeshaltd
RewriteRule ^(.*)$ /index.php?url=$1 [L]

但是当我使用这个htaccess代码时,一切正常

Options +FollowSymLinks
RewriteEngine on

RewriteBase /naranjeshaltd
RewriteRule home$ index.php?url=home 

但它是一个静态方法,我该如何为所有页面执行此操作?

2 个答案:

答案 0 :(得分:2)

我可以在这里看到两个主要问题:

  1. 您应避免重定向到index.php以获取真实文件/目录/链接。
  2. 不要在目标网址中使用/作为起始斜杠,否则它不会与您的RewriteBase相关
  3. 将您的代码更改为:

    RewriteBase /naranjeshaltd/
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-l
    RewriteRule ^(.*)$ index.php?url=$1 [L,QSA]
    

答案 1 :(得分:0)

你试过这个吗?

Options +FollowSymLinks
RewriteEngine on

RewriteBase /naranjeshaltd
RewriteRule ^(.*)$ /naranjeshaltd/index.php?url=$1 [L]