使用htaccess可以使用不同类型的URL

时间:2017-10-13 13:00:26

标签: php .htaccess url

我有两种类型的网址,我想让它们变得可读/漂亮:

www.mydomain.com/index.php -> www.mydomain.com/index 
(remove .php)

www.mydomain.com/information.php?=story1 -> www.mydomain.com/information/story1
(replace .php=? with /)
Im using $_SERVER[REQUEST_URI] to grab the "story" from the database

我已经尝试了好几天,但找不到任何解决方案。有什么建议吗?

2 个答案:

答案 0 :(得分:1)

好的,我自己想出来了。

第一: www.mydomain.com/index.php - > www.mydomain.com/index (删除.php)

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]

第二: 我不得不做一些改变,但是继续说:

目标: www.mydomain.com/information.php?story=1 - > www.mydomain.com/information/1

RewriteEngine on
RewriteRule ^information/([A-Za-z0-9-\s]+)$ information.php?story=$1

这被添加到php代码中:

$story_str = $_GET['story'];
$story_str = 1

在php代码的标签中,添加此代码以确保加载了图片和CSS:

<base href="/" />

最后,将此添加到您的.htaccess中,以确保您的图片和CSS已加载:

RewriteRule ^detail/(css|js|img)/(.*)?$ /$1/$2 [L,QSA,R=301]

答案 1 :(得分:0)

你应该试试这个:

Block