使不同类型的网址漂亮与htaccess的
问题描述:
我有两个类型的URL我要让可读/漂亮:使不同类型的网址漂亮与htaccess的
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
我已经试过了日期和时间,但找不到任何解决方案。有什么建议么?
答
你应该试试这个:
RewriteEngine On
# Unless directory, remove trailing slash
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/$ http://example.com/folder/$1 [R=301,L]
# Redirect external .php requests to extensionless url
RewriteCond %{THE_REQUEST} ^(.+)\.php([#?][^\ ]*)?\ HTTP/
RewriteRule ^(.+)\.php$ http://example.com/folder/$1 [R=301,L]
# Resolve .php file for extensionless php urls
RewriteRule ^([^/.]+)$ $1.php [L]
+0
它仍然无法正常工作。它只会删除.php文件,并不会取代?=用斜杠/ www.mydomain.com/information.php?=story1 - > www.mydomain.com/information?=story1 - 我需要它是www。 mydomain.com/information/story1 还有其他想法吗?应该有可能...... – CitronAutobot
答
好吧,我理解了它自己。
第一: 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]
请问您可以告诉我们预期的结果和实际结果是什么? – SteveFest
预期结果:www.mydomain.com/information/story1 - 实际结果:www.mydomain.com/information.php?=story1 - 我需要摆脱.php?= – CitronAutobot