【问题标题】:Simple rewrite rule doesnt work简单的重写规则不起作用
【发布时间】:2017-01-13 20:05:12
【问题描述】:

我需要清理这个网址:

localhost/film/film/?n=zatvorenici

变成这样:

localhost/film/film/zatvorenici/

我的代码不起作用:

RewriteEngine On
RewriteRule ^film/([a-z-]+)/$ /film/?n=$1 

【问题讨论】:

  • 你的 htaccess 文件在哪里?
  • 在根文件夹中
  • 把这个放到电影文件夹里
  • 还是不行……
  • ...您已经将应用程序中的 URL 更改为 localhost/film/film/zatvorenici/ - 这就是您要链接的 URL?

标签: .htaccess mod-rewrite url-rewriting clean-urls


【解决方案1】:

试试这个规则,

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^film/([a-z-]+)/$ index?n=$1 [L]

把它放在电影目录中。

【讨论】:

  • 请编辑您在 index.php 中获取的变量以及其他详细信息(如果错过)。
  • 如果是 php,您使用的是哪种语言,那么它将是 index.php 或任何其他语言,请根据您的需要使用上面的任何语言。
  • if (isset($_GET['n'])) { $title = $_GET['n']; $novifilm = $string_with_dashes = str_replace('-',' ',$title); //回声 $novifilm;我得到这样的var(电影文件夹中的index.php)
  • 如果这个.htaccessfirst film 目录中,那么你仍然需要一个RewriteBase /film/film(或其他东西)来重写到second film 子目录。
  • 将 .htaccess 放在上面的第一个电影目录中。
猜你喜欢
  • 2013-10-13
  • 1970-01-01
  • 1970-01-01
  • 2013-08-14
  • 1970-01-01
  • 2017-10-06
  • 2016-02-25
  • 2021-09-22
  • 1970-01-01
相关资源
最近更新 更多