【问题标题】:.htaccess rewrite url with two variables.htaccess 用两个变量重写 url
【发布时间】:2017-10-01 01:16:39
【问题描述】:

我的.htaccess 重写规则有问题(我是新手,所以这可能很容易)

我的网址是:

http://www.example.com/film-al-cinema/?titolo=Ghost+in+the+Shell&id=315837

所以我在第一个变量titolo="" 中有电影的标题,在第二个变量id="" 中有电影的ID。

我希望网址看起来像

http://www.example.com/film-al-cinema/Ghost+in+the+Shell/315837

我试图用这个来改变 htaccess 文件:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^film-al-cinema/(.*)/([0-9]+)$ film-al-cinema/?titolo=$1&id=$2 [R]
</IfModule>

但这会将我重定向到 404 页面

编辑

我正在开发 Wordpress,所以 /film-al-cinema/ 是一个 Wordpress 页面

编辑 2

# BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /

RewriteRule ^film-al-cinema/([^/]+)/(\d+)/?$  /index.php?page_id=21016&titolo=$1&id=$2 [L]

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

</IfModule>

# END WordPress

【问题讨论】:

  • 我觉得电影电影的规则已经改写了
  • film-al-cinema 不是目录,但它是 wordpress 页面,所以我认为这是可能的?
  • 如果film-al-cinema 不是现有目录,wordpress 如何映射到`websitename.com/film-al-cinema?...`?甚至更好:wordpress 的 index.php 在哪里? wordpress 安装的 .htaccess 中是否还有更多规则?
  • @Quasimodo'sclone 我不明白,抱歉。如果您想查看pulpcorn.com/film-al-cinema/…,这是网址
  • 好的,我把^film-al-cinema/(.*)/([0-9]+)$ 放回去了吗?

标签: wordpress apache .htaccess mod-rewrite url-rewriting


【解决方案1】:

试试这个,让我知道它是否适合你(更新),

 RewriteEngine On
 RewriteCond %{THE_REQUEST} ^GET\ /film-al-cinema\/\?titolo=([^\s&]+)&id=([^\s&]+) [NC]
 RewriteRule ^film-al-cinema\/$ /film-al-cinema/%1/%2? [R,L]
 RewriteRule ^film-al-cinema/([^/]+)/([^/]+)/?$ /film-al-cinema/?titolo=$1&id=$2 [NC,L]

您应该创建当前 .htaccess 文件的备份,然后使用此代码。 如果一切正常,在最后一行添加R=301代替R

【讨论】:

  • 如果我去 http://www.pulpcorn.com/film-al-cinema/Guardiani+della+Galassia+Vol.+2/283995 它对我不起作用,如果我去 http://www.pulpcorn.com/film-al-cinema/?titolo=Guardiani+della+Galassia+Vol.+2&amp;id=283995 它会给我错误 404,它会将我重定向到没有任何变量的电影电影
  • 你添加了一个额外的点Vol.,我必须为此修改我的条件。等等
  • 能否请您告诉我,包括- + . 您的网址中有哪些特殊字符
  • @alessandroduemetri 我可以看到 URL --> pulpcorn.com/film-al-cinema/… 正在重定向到 pulpcorn.com/film-al-cinema/Ghost+in+the+Shell/315837 在更新当前代码后,一切都会正常工作
  • @alessandroduemetri 我已经更新了代码,它对我有用,试试吧,让我知道它是否适合你。
猜你喜欢
  • 2012-06-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多