2011-11-29 47 views
2

我安装了XAMPP,我在本地主机上运行了所有内容/ 所以想象我有localhost/website/index.php或www.website.com/index.php;更改URL PHP jQuery或mod_rewrite

如何删除index.php和/或用类似的东西替换它; localhost/website/:)或www.website.com/ :)

或显示它喜欢; localhost/website或www.website.com

示例;

$URLcapture = $_SERVER['PHP_SELF']; 
$URLcustom = ":)"; 

$_SERVER['PHP_SELF'] = $URLcustom; 
echo $_SERVER['PHP_SELF']; 

这显示:)当然,但我怎么能得到:)在我的网址?

谢谢 F4LLCON

编辑

下加载的模块,我可以看到的mod_rewrite。

之前的一切步骤 - 开始 - 在httpd.conf中我删除了;

# from infront of LoadModule rewrite_module modules/mod_rewrite. 

改变;

<Directory /> 
    Options FollowSymLinks 
    AllowOverride All 
    Order deny,allow 
    Deny from all 
</Directory> 

<Directory "C:/xampp/cgi-bin"> 
    AllowOverride All 
    Options +FollowSymLinks 
    Order allow,deny 
    Allow from all 
</Directory> 

步骤之前的一切 - 完 -

在.htaccess我已经添加

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?/$1 [L] 

,也试过

RewriteEngine On 
RewriteBase/
RewriteRule index.php nieuw.php 

我在做什么错?

EDIT 2

不接触的.htaccess在所有的工作。 1.关闭xampp和apache。

  1. 在C:\ xampp \ apache \ conf中编辑httpd.conf;

2a从上述步骤开始;

2A步骤之前的一切 - START - 直到

2A步骤之前的一切 - END -

2b中。在http的结尾添加。CONF;

<IfModule mod_rewrite.c> 
RewriteEngine on 
RewriteRule ^/home$ /spiderweb/Web-projects/Web-stage/Nieuwidw/index.php 
RewriteRule ^/link$ /spiderweb/Web-projects/Web-stage/Nieuwidw/link.php 
RewriteRule ^/contact$ /spiderweb/Web-projects/Web-stage/Nieuwidw/contact.html 
RewriteRule ^/about$ /spiderweb/Web-projects/Web-stage/Nieuwidw/about.html 
</IfModule> 
  1. 启动XAMPP/Apache和输入localhost /家

3A。该网站将打开,但布局不存在。所以它不加载style.css

3b。 .css在;

3b。 C:\ xampp \ htdocs \ spiderweb \ Web-projects \ Web-stage \ Nieuwidw \包括

3c。图像在;

3c。 C:\ XAMPP \ htdocs中\蜘蛛网\ WEB-项目\ WEB-阶段\ Nieuwidw \包括\图像

下一页

  1. 在家里,你可以看到 “更多” 按钮,每一个产品下,如果按更多的你会被重定向到link.php中的产品页面,但是每个产品都会在URL中获得它自己的ID;

4a。 http://localhost/link.php?id=126使页面显示出来;找不到,因为URL不同

如何解决这些问题?

+1

当你重新启动你的http服务器(你使用哪一个?)当mod_rewrite加载时,什么被添加到日志?任何错误? – ManseUK

+0

一个不是,当我在C:\ xampp中搜索.htaccess时,它找到了19个.htaccess文件。我刚刚编辑了C:\ xampp \ htdocs \ xampp中的一个。那是正确的吗?我在哪里可以找到日志?没有错误显示在页面上只加载相同的link.php在URL – MOTIVECODEX

+0

@ManseUK我需要在我的xampp(本地主机)文件夹中编辑.htaccess或在我的网站文件夹中创建.htaccess文件? – MOTIVECODEX

回答

2

在PHP中:

header("Location: http://www.example.com/"); 

但是,最好的方法是使用htaccess(就像ManseUK说的)

+0

如果我添加标题(“位置:http:// localhost/spiderweb/Web-projects/Web-stage/Nieuwidw /”);在我的PHP文件中,并尝试在我的浏览器中加载它,浏览器给我找不到页面。它会重定向到http:// localhost/spiderweb/Web-projects/Web-stage/Nieuwidw /当然 – MOTIVECODEX

1

如果你能这样做,这是使用mod_rewrite的最佳方式 - 你再有类似下面的规则和index.php文件是隐藏

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?/$1 [L] 
+0

中删除index.php谢谢,我已经尝试了一些关于该教程的教程,但它不会改变任何内容。有没有其他方法? – MOTIVECODEX

+1

@ F4LLCON当您在服务器上运行'phpinfo()'时,是否启用了mod_rewrite模块?你在日志中看到什么? – ManseUK

+0

我编辑了我的帖子 – MOTIVECODEX