【问题标题】:Changing URL PHP jQuery or mod_rewrite更改 URL PHP jQuery 或 mod_rewrite
【发布时间】:2012-01-08 18:15:55
【问题描述】:

我已经安装了 XAMPP,我在我的 localhost/ 上运行所有东西 所以想象我有 localhost/website/index.php 或 www.website.com/index.php;

我怎样才能删除 index.php 和/或用类似的东西替换它; localhost/website/:) 或 www.website.com/:)

或者像这样展示它; 本地主机/网站或 www.website.com

示例;

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

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

这当然显示 :) 但是我如何在我的 URL 中获取 :)?

谢谢你, 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

我做错了什么?

编辑 2

根本不接触 .htaccess 。 1. 关闭xampp和apache。

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

2a 从以上步骤开始;

2a 一切之前的步骤 - 开始 - 直到

2a 一切之前的步骤 -- 结束 -

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/home

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

3b。 .css 在;

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

3c。图片在里面;

3c。 C:\xampp\htdocs\spiderweb\Web-projects\Web-stage\Nieuwidw\includes\images

下一个

  1. 在主页上,您可以在每个产品下方看到“更多”按钮,如果您按更多,您将被重定向到 link.php 中的产品页面,但每个产品在 URL 中都有自己的 ID;

4a。 http://localhost/link.php?id=126 这样页面就出现了;由于网址不同,未找到

如何解决这些问题?

【问题讨论】:

  • 当你重新启动你的 http 服务器(你正在使用哪一个?)加载 mod_rewrite 时,日志中添加了什么?有什么错误吗?
  • 一个没有,当我在 C:\xampp 中搜索 .htaccess 时,它会找到 19 个 .htaccess 文件。我刚刚在 C:\xampp\htdocs\xampp 中编辑了一个。那是正确的吗?我在哪里可以找到日志?页面上没有显示错误,只是在 URL 中使用相同的 link.php 加载
  • @ManseUK 我需要在我的 xampp (localhost) 文件夹中编辑 .htaccess 还是在我的网站文件夹中创建 .htaccess 文件?
  • 您设置的文档根目录 - 所以 index.php 文件在哪里
  • @ManseUK 我再次编辑了我的帖子,在 EDIT 2 下你能看一下吗?我对你的 cmets 投了赞成票 :)

标签: php jquery url hyperlink


【解决方案1】:

在 php 中:

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

但最好的方法是使用 htaccess(如 ManseUK 所说)

【讨论】:

【解决方案2】:

如果您能够做到这一点的最佳方法是使用 mod_rewrite - 然后包含如下规则,并且 index.php 被隐藏

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

【讨论】:

  • 谢谢,我已经尝试了一些关于此的教程,但它并没有改变任何东西。有没有其他办法?
  • @F4LLCON 当您在服务器上运行 phpinfo() 时,您是否启用了 mod_rewrite 模块?您在日志中看到了什么?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-11-20
  • 1970-01-01
  • 2015-12-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多