当前位置: 首页 > 面试题库 >

如何使用.htaccess创建干净的URL

汪泓
2023-03-14
问题内容

这是我的.htaac​​cess代码。

RewriteEngine On
RewriteRule ^([a-zA-Z0-9]+)/$ movie.php?name=$1
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.example\.in$
RewriteRule ^/?$ "http\:\/\/example\.in" [R=301,L]
ErrorDocument 404 /404.php
AddDefaultCharset UTF-8
Header unset ETag
FileETag None

我需要网站的干净URL。我参考了许多教程和论坛,并创建了上面的代码。但是无法正常工作。几乎我正在与代码作斗争。我不太清楚干净的URL概念。我要在我的php页面上编写任何编码吗?

<a href='movie.php?name=titanic'> Titanic </a>

我在index.php文件中有此链接。

我想要example.in/movie/titanic同时点击链接泰坦尼克号。

我也想通过$ _ [request]获得值。

我到底要做什么。请不要重复提出这个问题,我已经搜索了很多,并且不清楚这个概念。请帮帮我。

谢谢


问题答案:

用以下代码替换代码:

ErrorDocument 404 /404.php
AddDefaultCharset UTF-8
Header unset ETag
FileETag None

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+movie\.php\?name=([^\s&]+) [NC]
RewriteRule ^ movie/%1? [R=301,L]

RewriteRule ^movie/([^/]+)/?$ movie.php?name=$1 [L,QSA]


 类似资料:
  • 问题内容: .htaccess我很难受。我想为我正在工作的网站创建友好的URL。 基本上我想将其转换为: 变成这个: 如果以后需要,我也想知道如何将文章标题添加到URL的末尾(如下所示)(我正在使用PHP): 注意:Stackoverflow方法对我也有好处,例如,此问题的网址为: 但是您可以在id后面放任何东西,它也可以工作。像这样: 我使用了一些自动Web工具来创建.htacces文件,但该文

  • 问题内容: 我已经使用以下命令从Docker文件构建了一个Docker映像。 当我尝试使用同一命令重建它时,它正在使用构建缓存,例如: 缓存显示已安装Aerospike。但是,我在从该图像生成的容器中找不到它,因此我想在不使用缓存的情况下重建该图像。如何强制Docker在没有缓存的情况下重建干净的映像? 问题答案: 有一个选项: 在较旧的Docker版本中,您需要通过,但情况不再如此。

  • TLDR:由于UserNotFound错误(未找到的用户来自旧安装),我无法使用空数据目录启动Mongo的干净安装(从ZIP)。 更详细地说:我最初的Mongo数据库运行良好。出于测试目的,我移动了当前的数据目录,并创建了一个新目录。所以我停止了运行Windows服务 创建一个新的数据目录并尝试在noauth模式下启动一个新的MongoDB 麻烦就从这里开始了:MongoDB试图从我的旧数据库中连

  • 问题内容: 我正在尝试从WCF服务返回一些JSON。该服务仅从我的数据库返回一些内容。我可以得到数据。但是,我担心JSON的格式。当前,返回的JSON格式如下: 实际上,我希望JSON的格式尽可能整洁。我相信(我可能是不正确的),以干净的JSON表示的相同结果集应如下所示: 我不知道“ d”来自哪里。我也不知道为什么要插入转义字符。我的实体如下所示: 负责返回内容的服务定义为: 如何从WCF服务返

  • 问题内容: 我希望创建一个系统,注册后将在我的网站上为用户帐户区域创建一个子域。 例如johndoe.website.com 我认为这可能与.htaccess文件有关,并且可能重定向到网站上的其他位置吗?我真的不知道 但是,任何使我动手的信息将不胜感激。 创建注册区域不是问题-我已经做了很多次了。我只是不确定从子域开始。 问题答案: 快速淘汰 您需要在DNS服务器* .website.com上创建

  • 我有一个包含所有学生姓名的表,另一个包含学生姓名及其班级注册情况的表,我想显示两个学生的班级名称,即使他们没有注册任何班级,我在注册和未注册之间使用了union唯一的问题是姓名重复 学生(student_id、student_name、专业、级别、年龄) 入学人数(student_id、class_name、学期) 下面是我的 SQL 查询: 选择student_name,class_name从学