htaccess需要帮助重写网址

时间:2013-03-26 07:57:26

标签: php .htaccess url url-rewriting

我一直试图用htaccess文件重写我的URL。 我的项目使用我的index.php作为它的基本控制器。 我使用get-value“naam”从数据库中获取页面。

实施例: localhost / YourDesigns / YDCMS / index.php?naam = home(显示主页) localhost / YourDesigns / YDCMS / index.php?naam = about(显示关于页面)

现在我要重写URLS,如下所示: localhost / YourDesigns / YDCMS / home(显示主页) localhost / YourDesigns / YDCMS / about(显示关于页面)

我自己做了一些htaccess的东西,我已成功从网址中删除了“index.php”,但“naam”仍然存在。

如何删除此内容? 这是我目前的htaccess文件:

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

提前致谢:)

1 个答案:

答案 0 :(得分:1)

我认为你看待这个过程的方式并不完全正确,如果你想像你说localhost/YourDesigns/YDCMS/home那样显示网址,你必须首先将你的html内容中的网址替换为该格式,然后使用RewriteRule你在内部调用正确的路径:

RewriteRule ^desired_url_path/([a-z0-9\-]+)$ /base_url_path/index.php?naam=$1 [L]

这样当用户点击链接时,Apache服务器将使用上述正则表达式来转换网址,该规则基本上是这样的:基本网址之后的所有内容都是在index.php上传递的参数值。 当然,可以修改正则表达式以满足您的需要,我在上面写的是一个基本的字符串模式。